您的位置:首页 > 编程语言 > Python开发

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

2017-02-09 14:30 1141 查看
一)属性

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


二)创建方法

series:

一组数组(列表或元组),series除了一组数据外还包括一组索引(即只有行索引),索引可自行定义也可利用Series(),自动生成索引;

dataframe:

是表格型数据,既有行索引又有列索引,每列数据可以为不同类型数据(数值、字符串、布尔型值),可利用DataFrame(其他数据,dataframe属性)指定dataframe的属性创建dataframe。

三)实例

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

代码

#创建series
import pandas as pd
obj_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)#通过列表创建series
obj_series_tuple=pd.Series(obj_tuple,index=list('abcd'))#通过元组创建series
obj_series_dict=pd.Series(obj_dict)#通过字典创建series
#定义属性
obj_series_list.index.name='zimu'
obj_series_list.name='data'

print "#通过列表创建series"
print obj_series_list
print "#通过元组创建series"
print obj_series_tuple
print "#通过字典创建series"
print obj_series_dict
#显示series类型及属性
print type(obj_series_list),obj_series_list.dtype
print obj_series_list.index,obj_series_list.index.name
print obj_series_list.values,obj_series_list.name


运行结果

#通过列表创建series
zimu
0    1
1    2
2    3
3    4
Name: data, dtype: int64
#通过元组创建series
a    4
b    5
c    6
d    7
dtype: int32
#通过字典创建series
a    [1, 2]
b    [2, 3]
c    [3, 4]
d    [4, 5]
dtype: object
<class 'pandas.core.series.Series'> int64
RangeIndex(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的一列,所有序列的长度必须相同

代码

#创建dataframe
import pandas as pd
import numpy as np
obj_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)#通过字典创建dataframe
obj_dataframe_array=pd.DataFrame(obj_array,index=['one','two'])#通过矩阵创建dataframe
obj_dataframe_series=pd.DataFrame([obj_series_1,obj_series_2])#通过series创建dataframe
obj_dataframe_dataframe=pd.DataFrame(obj_dataframe_series,index=[0,1,'one'],columns=[0,1,2,'a'])#通过其他dataframe创建dataframe
print "#通过字典创建dataframe"
print obj_dataframe_dict
print "#通过矩阵创建dataframe"
print obj_dataframe_array
print "#通过series创建dataframe"
print obj_dataframe_series
print "#通过其他dataframe创建dataframe"
print obj_dataframe_dataframe
#dataframe属性
print obj_dataframe_dataframe.dtypes
print obj_dataframe_dataframe.values
print obj_dataframe_dataframe.columns
print obj_dataframe_dataframe.index


运行结果

#通过字典创建dataframe
a  b  c  d
0  1  2  3  4
1  2  3  4  5
#通过矩阵创建dataframe
0  1  2  3
one  1  2  3  4
two  3  4  5  6
#通过series创建dataframe
0   1   2   3
0  11  12  13  14
1  21  22  23  24
#通过其他dataframe创建dataframe
0     1     2   a
0    11.0  12.0  13.0 NaN
1    21.0  22.0  23.0 NaN
one   NaN   NaN   NaN NaN
0    float64
1    float64
2    float64
a    float64
dtype: 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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python