Pandas库中的DataFrame相较于前面介绍的Series列表多了一个和行的维度,可以简单理解为类似Excel表的表格结构,它可以广泛存储生活、工作中大量的表格数据

简单的DataFrame使用

对于已经有Python基础的你,我们不妨直接上代码,如下:

import pandas as pd
data = [['Baidu',10],['Google',20],['Yahoo',30],['Dotcpp',40]]

# 将数据加载到 DataFrame 对象中:
df = pd.DataFrame(data,columns=['Site','Num'])

print(df)

我们定义了一个二维的列表,然后直接传入调用Pandas里的DataFrame函数,最后输出,效果如下:

DataFrame输出效果

大家可以先看输出效果,DataFrame会直接打印这个所谓的二维数组,并不需要我们再循环或排版,并且在这个二维数组的左侧,像Series一样统一加了默认的索引(0~3),这些就是与python内置list等变量不同的地方。


类似的,DataFrame也支持字典传入,还是这个需求,我们用字典则这么写:

import pandas as pd
data = {'Site':['Baidu','Google','Yahoo','Dotcpp'],'Num':[10,20,30,40]}

# 将数据加载到 DataFrame 对象中:
df = pd.DataFrame(data)

print(df)

效果与上面list一样,就不重复贴图了


自定义DataFrame索引

同样,DataFrame也可以向Series那样命名索引,比如还是上面的例子,我们如果想把默认的0开始递增的索引改为字母,则可以这么写:

import pandas as pd
data = [['Baidu',10],['Google',20],['Yahoo',30],['Dotcpp',40]]

# 将数据加载到 DataFrame 对象中
df = pd.DataFrame(data,columns=['Site','Num'],index=['B','G','Y','D'])

print(df)

重点在创建DataFrame函数时,传入了index的参数,这里指定了各个索引的值,输出后,可以看到索引发生变化

DataFrame命名索引


通过索引获取数据

既然有索引,那么我们就可以索引方便的获取到对应的数据,方式是调用DataFrame的loc函数,代码如下:

import pandas as pd
data = [['Baidu',10],['Google',20],['Yahoo',30],['Dotcpp',40]]

# 将数据加载到 DataFrame 对象中
df = pd.DataFrame(data,columns=['Site','Num'],index=['B','G','Y','D'])

print(df.loc['B'])
print(df.loc['D'])


运行效果如下:

DataFrame索引

注意,自定义索引命名后,原先的默认索引(也就是0开始递增的序号)就不在存在,用这个序号则会报错

点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)