You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.2 KiB
2.2 KiB
3.1.2:DateFrame对象
创建DataFrame对象
Pandas
的DataFrame
对象可以通过许多方式创建,这里举几个常用的例子。
- 通过数组创建
pd.DateFrame(array, index=list0, columns=list1) #list表示一个列表
- 通过单个Series对象创建
pd.DateFrame(Series,columns=list)
- 通过字典列表创建
data = [{'a': i, 'b': 2 * i} for i in range(3)] pd.DataFrame(data)
DataFrame是通用的NumPy数组
如果将Series
类比为带灵活索引的一维数组,那么DataFrame
就可以看作是一种既有灵活的行索引,又有灵活列名的二维数组,你也可以把DataFrame
看成是有序排列的若干Series
对象。这里的“排列”指的是它们拥有共同的索引index
。
# 创建Series对象
In: area_dict = {'California': 423967, 'Texas': 695662, 'New York': 141297, 'Florida': 170312, 'Illinois': 149995}
In: population_dict = {'California': 38332521,'Texas': 26448193, 'New York': 19651127, 'Florida': 19552860, 'Illinois': 12882135}
In: population = pd.Series(population_dict)
In: area = pd.Series(area_dict)
# 创建DataFrame对象
In: states = pd.DataFrame({'population': population, 'area': area})
In: states
Out: area population
California 423967 38332521
Florida 170312 19552860
Illinois 149995 12882135
New York 141297 19651127
Texas 695662 26448193
和Series
对象一样,DataFrame
也有一个index
属性可以获取索引标签。另外,DataFrame
还有一个columns
属性,是存放列标签的Index
对象。
In: states.columns
Out: Index(['area', 'population'], dtype='object')
DataFrame是特殊的字典
与Series
类似,我们也可以把DataFrame
看成一种特殊的字典。字典是一个键映射一个值,而DataFrame
是一列映射一个Series
的数据。例如,通过area
的列属性可以返回包含面积数据的Series
对象。
In: states['area']
Out: California 423967
Florida 170312
Illinois 149995
New York 141297
Texas 695662
Name: area, dtype: int64
注意:在 NumPy
的二维数组里,data[0]
返回第一行;而在 DataFrame
中,data['列名']
返回与列名相匹配的那一列。