
前一篇文章提到了序列,可以理解为Excel里没有列名的一列数据,那么Excel里的由行列组成的表数据是如何对应到Python中的呢?就是今天要说的数据框:DataFrame。
它是由一组数据和一对索引(行索引和列索引)组成的二维数据结构,可以看成Excel里的表格,与Series不同的是,DataFrame可以有多行/列数据。
1.建
首先要导入pandas模块,简写为pd。
In [1]:import pandas as pd
从列表中创建DataFrame
# 从列表中创建
list1 = [2,5,8,10]
df_l = pd.DataFrame(list1)
df_l
结果:

这里传入的是一个单一的列表,得到的是带有行列索引的一列数据,行索引用index表示,就是这里最前面竖着的那一列[0,1,2,3],相当于Excel里的第一列,列索引用columns表示,相当于Excel里的第一行,由于没有指定索引,因此都是默认从0开始递增的索引,这里横排第一行就是列索引,除去行列索引,中间的区域为values:值区域。

从字典中创建
# 从字典中创建
dict1 = {"name":["Tony","Nancy","Judy","Cindy"],
"age":[16,17,18,15],
"sex":["male","female","female","female"]}
df_d = pd.DataFrame(dict1)
df_d
结果:

从字典中创建DataFrame,每个键就默认为columns。
从嵌套列表中创建
嵌套列表顾名思义,就是列表中还有列表,这种方式也可以创建数据框,同字典不同的是,字典创建的数据框键值对是一列一列的,嵌套列表创建的数据框是一行一行的。
# 嵌套列表创建
list2 = [["Jane",15,101],["David",18,103],["Peter",16,102]]
df1 = pd.DataFrame(list2)
df1
结果:

以上创建数据框都没有指定索引,下面我们来指定行列索引,columns指定列索引,index指定行索引。
# 指定行列索引
list2 = [["Jane",15,101],["David",18,103],["Peter",16,102]]
df1 = pd.DataFra