首页 > 编程 > Python > 正文

python pandas中series与dataframe数据类型属性及操作基础

2019-11-09 19:22:13
字体:
来源:转载
供稿:网友

一)属性

series :.index,.values, .name,.index.namedataframe :.columns, .index,.values

二)创建方法 series: 一组数组(列表或元组),series除了一组数据外还包括一组索引(即只有行索引),索引可自行定义也可利用Series(),自动生成索引; dataframe: 是表格型数据,既有行索引又有列索引,每列数据可以为不同类型数据(数值、字符串、布尔型值),可利用DataFrame(其他数据,dataframe属性)指定dataframe的属性创建dataframe。

三)实例 3.1 创建series及其属性展示实例

代码

#创建seriesimport pandas as pdobj_list=[1,2,3,4]obj_tuple=(4,5,6,7)obj_dict={'a':[1,2],'b':[2,3],'c':[3,4],'d':[4,5]}obj_series_list=pd.Series(obj_list)#通过列表创建seriesobj_series_tuple=pd.Series(obj_tuple,index=list('abcd'))#通过元组创建seriesobj_series_dict=pd.Series(obj_dict)#通过字典创建series#定义属性obj_series_list.index.name='zimu'obj_series_list.name='data'PRint "#通过列表创建series"print obj_series_listprint "#通过元组创建series"print obj_series_tupleprint "#通过字典创建series"print obj_series_dict#显示series类型及属性print type(obj_series_list),obj_series_list.dtypeprint obj_series_list.index,obj_series_list.index.nameprint obj_series_list.values,obj_series_list.name

运行结果

#通过列表创建serieszimu0 11 22 33 4Name: data, dtype: int64#通过元组创建seriesa 4b 5c 6d 7dtype: int32#通过字典创建seriesa [1, 2]b [2, 3]c [3, 4]d [4, 5]dtype: object<class 'pandas.core.series.Series'> int64RangeIndex(start=0, stop=4, step=1, name=u'zimu') zimu[1 2 3 4] data

3.2创建dataframe及其属性展示实例 在构建DataFrame时,最常用的就是先创建一个data,data一般可以是字典和数组,再用a=DataFrame(data)来转换为DataFrame结构。在DataFrame(data)时也可以同时传入index和columns参数,两个参数必须是list列表型

1)由数组、列表或元组组成的字典:,每个序列变成DataFrame的一列,所有序列的长度必须相同 代码

#创建dataframeimport pandas as pdimport numpy as npobj_dict={'a':[1,2],'b':[2,3],'c':[3,4],'d':[4,5]}obj_array=np.array([[1,2,3,4],[3,4,5,6]])obj_series_1=pd.Series([11,12,13,14])obj_series_2=pd.Series([21,22,23,24])obj_dataframe_dict=pd.DataFrame(obj_dict)#通过字典创建dataframeobj_dataframe_array=pd.DataFrame(obj_array,index=['one','two'])#通过矩阵创建dataframeobj_dataframe_series=pd.DataFrame([obj_series_1,obj_series_2])#通过series创建dataframeobj_dataframe_dataframe=pd.DataFrame(obj_dataframe_series,index=[0,1,'one'],columns=[0,1,2,'a'])#通过其他dataframe创建dataframeprint "#通过字典创建dataframe"print obj_dataframe_dictprint "#通过矩阵创建dataframe"print obj_dataframe_arrayprint "#通过series创建dataframe"print obj_dataframe_seriesprint "#通过其他dataframe创建dataframe"print obj_dataframe_dataframe#dataframe属性print obj_dataframe_dataframe.dtypesprint obj_dataframe_dataframe.valuesprint obj_dataframe_dataframe.columnsprint obj_dataframe_dataframe.index

运行结果

#通过字典创建dataframe a b c d0 1 2 3 41 2 3 4 5#通过矩阵创建dataframe 0 1 2 3one 1 2 3 4two 3 4 5 6#通过series创建dataframe 0 1 2 30 11 12 13 141 21 22 23 24#通过其他dataframe创建dataframe 0 1 2 a0 11.0 12.0 13.0 NaN1 21.0 22.0 23.0 NaNone NaN NaN NaN NaN0 float641 float642 float64a float64dtype: object[[ 11. 12. 13. nan] [ 21. 22. 23. nan] [ nan nan nan nan]]Index([0, 1, 2, u'a'], dtype='object')Index([0, 1, u'one'], dtype='object')

注意: 1)由series构成的dataframe,可以合成原series索引,也可以自定义索引,但索引长度要和dataframe行数一致 2)由其他dataframe组成的dataframe,当自定义索引与原来dataframe不一样时,新的dataframe会增加自定义索引行,其values=nan。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表