Python数据分析 知识量:13 - 56 - 232
DataFrame是pandas模块的另一种数据结构,而且是最为重要的数据结构。DataFrame由一组数据与一对索引(行索引和列索引)组成,形式上与Excel表格的数据存储形式相似,因此称为表格型数据结构。
因为数据结构的特殊性,DataFrame可以轻松的与数据库、Excel、csv、txt等格式的数据进行转换和交互。因此,DataFrame数据结构在数据分析中具有重要的意义。以下是一个DataFrame数据结构的示例:
0 0 a 1 b 2 c
DataFrame数据对象具有行索引和列索引,且由这一组索引来确定唯一值。以上示例中,左边列0、1、2是行索引;第2列最上面的0是列索引。
使用pd.DataFrame()函数来创建DataFrame对象。当传入的参数是一个单一列表时,DataFrame对象会显示成一列,行索引和列索引都以0为开始值:
import pandas as pd df=pd.DataFrame(['a','b','c']) print(df)
运行结果为:
0 0 a 1 b 2 c
当传入的参数是一个嵌套列表时,DataFrame对象会显示成多列数据。
import pandas as pd df=pd.DataFrame([['a','b','c'],[1,2,3]]) print(df,'\n') df=pd.DataFrame([(1,'a',3),(2,'b',5),(3,'c',7)]) print(df)
运行结果为:
0 1 2 0 a b c 1 1 2 3 0 1 2 0 1 a 3 1 2 b 5 2 3 c 7
如上所示,除了列表也可以使用元组创建DataFrame对象,效果一样。
除了使用默认行、列索引外,在创建DataFrame对象时,可以通过参数index设置行索引,通过columns设置列索引。
import pandas as pd df=pd.DataFrame([[5,6,7],[1,2,3]],index=['apple','pear'],columns=['Jeff','Lily','John']) print(df)
运行结果为:
Jeff Lily John apple 5 6 7 pear 1 2 3
使用字典创建DataFrame对象时,字典的key值相当于列索引,行索引使用默认值,当然也可以通过参数index指定。
import pandas as pd dic={'Jeff':[66,78,59],'Lily':[77,89,90],'Bob':[58,99,72]} df=pd.DataFrame(dic) print(df,'\n') df=pd.DataFrame(dic,index=['test1','test2','test3']) print(df)
运行结果为:
Jeff Lily Bob 0 66 77 58 1 78 89 99 2 59 90 72 Jeff Lily Bob test1 66 77 58 test2 78 89 99 test3 59 90 72
与Series数据结构一样,可以使用index方法获取DataFrame对象的行索引。此外,可以使用columns方法获取列索引。
import pandas as pd dic={'Jeff':[66,78,59],'Lily':[77,89,90],'Bob':[58,99,72]} df=pd.DataFrame(dic,index=['test1','test2','test3']) print(df) print(df.index) print(df.columns)
运行结果为:
Jeff Lily Bob test1 66 77 58 test2 78 89 99 test3 59 90 72 Index(['test1', 'test2', 'test3'], dtype='object') Index(['Jeff', 'Lily', 'Bob'], dtype='object')
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6