【数据分析】有关DataFrame的知识(1)

而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是“具有相同index的Series的集合”

因此,DataFrame的同一列中,值的数据类型相同。

但是,列和列之间的数据类型可以不同。

      

同样的,和Series类似,DataFrame的行索引index是可以选择性定义的。如果没有定义index,index就会默认从0开始生成。

总结:

DataFrame

DataFrame,中文叫做数据框,是pandas模块最常用的数据类型,是一个二维的矩阵数据表。

DataFrame构造函数

这几行代码,构造了一个DataFrame。
第1行,导入pandas模块。
第3行,定义了一个字典。
第4行,定义了一个列表。
第6行,使用DataFrame构造函数创建了一个DataFrame,并赋值给了变量df。
第8行,将这个创建的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)。
只需要将一个列表赋值给参数index。
示例中,我们将定义的列表city赋值给参数index。
city中的值,会成为DataFrame的index。
若不传入参数index,那么生成的DataFrame的index就会默认从0开始生成。

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这个变量。
将df输出可以看到,它是一个DataFrame对象:
列索引(columns)是由字典data的的keys组成;
值(values)是由字典data的的值组成;
行索引(index)是由列表city的值组成。

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传入的是列表时,需要在pd.DataFrame()函数内使用参数columns,用于自定义列索引columns

示例中,我们尝试用DataFrame构造函数,将定义的嵌套列表data和列表rank作为参数传入,并且结合参数columns,生成一个DataFrame,并赋值给变量result,并将其输出~

总结:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值