Pandas学习笔记一(Pandas数据结构)

来源:互联网 发布:1394mac 编辑:程序博客网 时间:2024/04/30 02:33

1.Series

由一组数组(numpy的各种数据类型)及与之相关的数据标签(即索引)组成。创建Series若未指定索引,则自动创建0到N-1的整数型索引。

Series创建方式:
i. 一组数据(如列表,元组、数组等序列类型)即可生成Series
ii. 可通过字典来创建Series,从key映射到value。

from pandas import Series, DataFrameimport pandas as pdo1 = pd.Series(['11','22','33'], name = 'str_to_int', index = ['a', 'b', 'c'], dtype = 'int64')    #使用列表创建Series,指定数据类型为'int64'o2 = Series({'A':22, 'B':18, 'C':23},name='age')  #使用字典创建Series

Series常见属性:value、index、name、dtype

Series在算数运算中会自动对齐不同索引数据,即对相同索引对应的数据才进行相关运算。

2.DataFrame

DataFrame是一个而为数据表格,包含一组有序的列,既有行索引又有列索引,可看作是由Series组成的字典,字典的每个序列组成DataFrame的一列

DataFrame创建方式:
i. 传入一个由等长列表、元组或numpy数组组成的字典
ii. 传入由Series组成的字典,每个Series成为DataFrame的一列
iii. 传入嵌套字典,即字典的字典。最外层的key作为DataFrame的列,内层的key则作为行索引。
iv. 若传入的是列表(元素可为元组、列表、字典或Series),则列表的每项成为DataFrame的行

DataFrame常见属性:index(行索引)、columns(列索引)、values(以ndarray形式返回数据)

#列的获取:dataframe[column_name]或dataframe.column_name#行的获取:dataframe.ix[index_name]
d1 = {'Chinese':[23,78,96], 'math':[99, 66,88], 'English':[87, 75, 89]}  #创建方式idf1 = DataFrame(d1, index= ['Lucy','Hanleilei','Limei'])df1['math'] #只查看数学成绩df1.ix['Hanleilei':]  #查看韩磊磊之后各科的成绩df1['math']['Hanleilei']  #查看韩磊磊的数学成绩df2 = DataFrame(d2, columns =['ch', 'mt','eg'] ,index= ['Lucy','Hanleilei','Limei']) #创建方式iidf2 = DataFrame(d2, index= ['Lucy','Hanleilei','Limei'])d3 = [(23, 99, 87),(78, 66, 75),(96, 88, 89)]     #创建方式iv--以元组的列表创建DataFramedf3 = DataFrame(d3, index = ['A','B','C'], columns = ['ch', 'mt','eg'])d4 = [{'ch':23, 'mt':99, 'eg':87},{'ch':78, 'mt':66, 'eg':75},{'ch':96, 'mt':88, 'eg':89}]     #创建方式iv--以字典的列表创建DataFrame,字典的key将成为列名df4 = DataFrame(d4, index = ['A','B','C'])

其他可以输入给DataFrame构造器的数据如下。
DataFrame构造函数的输入参数形式
注:图片来自《利用Python进行数据分析》表5-1

原创粉丝点击