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

3.1.2DateFrame对象

创建DataFrame对象

PandasDataFrame对象可以通过许多方式创建,这里举几个常用的例子。

  • 通过数组创建

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['列名']返回与列名相匹配的那一列。