【基本工具】S02E06 DataFrame数据对象使用方法概述

0.本集概览

1.DataFrame是若干有序排列的Series对象
2.DataFrame可以看作含有行索引和列索引的二维数组结构
3.DataFrame可以看作是特殊字典,反应了列索引到Series的映射关系
4.DataFrame的常见创建方法

按照上一集的思路,今天我们继续学习Pandas的另一个基础数据结构DataFrame。我们按照前面的学习路线图,对DataFrame数据对象先进行一个全局性的概览

1.DataFrame是若干有序排列的Series对象

如果说Series对象可以类比为带灵活索引类型的一维数组,那么对比的看,DataFrame可以被看做是既有灵活的行索引,又有灵活列索引的二维数组。那么我们可以这么说:

DataFrame是有序排列的若干Series对象,而这些Series对象都有相同的索引。我们来演示这个过程:
代码片段:

import pandas as pd

area_dict = {'California':423967,'Texas':695662,'New York':141297}
population_dict = {'California':1.3, 'Texas':0.98, 'New York':1.13}
area = pd.Series(area_dict)
population = pd.Series(population_dict)
print(area)
print(population)

运行结果:

California    423967
New York      141297
Texas         695662
dtype: int64

California    1.30
New York      1.13
Texas         0.98
dtype: float64

2.DataFrame反映列索引到Series的映射

这是我们初始的两个Series对象,接下来我们借助他们来展示Series和DataFrame的关系。我们可以用一个字典来构建含有这两个Series数据的二维对象,这就是DataFrame.
代码片段:

import pandas as pd

area_dict = {'California':423967,'Texas':695662,'New York':141297}
population_dict = {'California':1.3, 'Texas':0.98, 'New York':1.13}
area = pd.Series(area_dict)
population = pd.Series(population_dict)
states_df = pd.DataFrame({'area':area,'population':population})
print(states_df)

运行结果:

              area  population
California  423967        1.30
New York    141297        1.13
Texas       695662        0.98

可以看到,利用含有Series作为值的字典,就可以构造一个DataFrame,不难看出,这个字典的值,即一组Series对象,共享了行索引(index),而这个字典的一组键,则构成了这个DataFrame对象的列索引(columns)。

获取DataFrame对象的行、列索引值也非常简单:
代码片段:
```
import pandas as pd

states_df = pd.DataFrame({'area':area,'population':population})
print(states_df.index)
print(states_df.columns)

top Created with Sketch.