而Pandas的另一种数据类型:DataFrame,在许多特性上和Series有相似之处。
今天,我们将学习DataFrame的相关知识:
1. DataFrame的概念
2. 构造一个DataFrame
3. DataFrame的常用属性
4. DataFrame的轴
DataFrame
DataFrame
数据框
定义 DataFrame,中文叫数据框。 是pandas模块最常用的数据类型,是一个二维的矩阵数据表。 非常便捷地存放数据。 | 隐喻 DataFrame,就像是一个表格,可以通过行和列,可以定位一个值。 |
右侧是一个DataFrame,它由3部分组成: 既有行索引(index),可以用来定位到具体的某一行。 | 也有列索引(columns),用来定位到具体的某一列。 通过index和columns,可以定位到一个值,能快速进行数据的筛选和定位。 |
那DataFrame和Series之间有什么关系呢? | |
因此,DataFrame的同一列中,值的数据类型相同。
但是,列和列之间的数据类型可以不同。
同样的,和Series类似,DataFrame的行索引index是可以选择性定义的。如果没有定义index,index就会默认从0开始生成。
总结:
DataFrame |
DataFrame,中文叫做数据框,是pandas模块最常用的数据类型,是一个二维的矩阵数据表。 |
|
DataFrame构造函数 这几行代码,构造了一个DataFrame。 | import pandas as pd data= {'rank':[1, 2, 3, 4],'GDP':[80855, 77388, 68024, 47251]} city= ['GD','JS','SD','ZJ'] df= pd.DataFrame(data, index=city) print(df) |
pd.DataFrame( ) 通过调用的pandas模块里的DataFrame()函数,可以构造一个DataFrame。 | import pandas as pd data= {'rank':[1, 2, 3, 4],'GDP':[80855, 77388, 68024, 47251]} city= ['GD','JS','SD','ZJ'] df= pd.DataFrame(data, index=city) print(df) |
第一个常用参数:data pd.DataFrame()中,参数data表示需要传入的数据,可以是字典,列表等。 示例中data是一个字典,传入pd.DataFrame()函数; 字典的keys,会成为DataFrame的列索引columns; 字典的values是列表,列表中的值,会成为DataFrame的值values。 注意:若不传入数据,会生成一个空的DataFrame。 | import pandas as pd data= {'rank':[1, 2, 3, 4],'GDP':[80855, 77388, 68024, 47251]} city= ['GD','JS','SD','ZJ'] df= pd.DataFrame(data, index=city) print(df) |
需要特别注意的是,在构造DataFrame时,传入的字典必须是右侧所示的结构:
字典的keys是对象;
字典的values是对应的列表,并且每个列表中的元素个数相同。
在构造过程中: | 字典中的keys,就成为了DataFrame中的列索引columns。 字典中的values,就成为了DataFrame中的值values。 |
第二个常用参数:index 参数index用于定义DataFrame的行索引(index)。 | import pandas as pd data = {'rank':[1, 2, 3, 4],'GDP':[80855, 77388, 68024, 47251]} city = ['GD','JS','SD','ZJ'] df = pd.DataFrame(data, index=city) print(df) |
赋值的变量 将pd.DataFrame()函数创建的DataFrame,赋值给了df这个变量。 | import pandas as pd data = {'rank':[1, 2, 3, 4],'GDP':[80855, 77388, 68024, 47251]} city = ['GD','JS','SD','ZJ'] df = pd.DataFrame(data, index=city) print(df) |
总结:
构造DataFrame时,字典的keys,会成为DataFrame的columns。
1. 传入字典(推荐) 我们来试一试,使用DataFrame构造函数,将定义的字典data和列表rank作为参数传入,生成一个DataFrame,并赋值给变量performance吧~ |
|
|
2. 传入列表 除了字典外,我们还可以用列表的方式构造一个DataFrame。 如图,列表的数据依次成为DataFrame的values。 |
|
此时,参数data是嵌套列表,没有自定义columns。生成的DataFrame的columns会默认从0开始生成。 |
也就是说,参数data传入的是列表时,需要在 |
|
示例中,我们尝试用DataFrame构造函数,将定义的嵌套列表data和列表rank作为参数传入,并且结合参数columns,生成一个DataFrame,并赋值给变量result,并将其输出~ |
|
|
总结: