DataFrame类型
index_0 data_a data_1 ……data_w
index_1 data_b data_2 ……data_x
index_2 data_c data_3 ……data_y
index_3 data_d data_4 ……data_z
#这是索引 这里是多列数据
#可以看成是一个表格!!!
#ps:
列称之为index
行称之为column
索引那列称为axis=0 即0轴
表示数据的为axis=1 即1轴
DataFrame类型概述 |
---|
DataFrame是一个表格型的数据类型,每列值类型可以不同。 |
DataFrame既有行索引,也有列索引 |
DataFrame常用于表达二维数据,但也可以表达多维数据 |
dataFramel类型可以由如下类型创建: |
1.二维ndarray对象
2.由一维ndarray对象、列表、字典、元组、或Series构成的字典
3.Series类型
4.其他的DataFrame类型
代码示例:
#二维ndarray对象创建
In [1]: import pandas as pd
In [2]: import numpy as np
In [3]: d = pd.DataFrame(np.arange(10).reshape(2,5))
In [4]: d
Out[4]:
0 1 2 3 4
0 0 1 2 3 4
1 5 6 7 8 9
#纵向上自动生成了列索引
#横向上自动生成了行索引
#自动生成的索引都是默认从0开始
#从一维ndarray对象字典创建
In [8]: import pandas as pd
In [9]: dt = { 'one':pd.Series([1,2,3],index = ['a','b','c']),
...: 'two':pd.Series([9,8,7,6],index = ['a','b','c','d'])}
In [10]: d = pd.DataFrame(dt)
In [11]: d
Out[11]:
one two
a 1.0 9
b 2.0 8
c 3.0 7
d NaN 6
In [12]: pd.DataFrame(dt,index = ['b','b','d'],columns = ['two','three'])
Out[12]:
two three
b 8 NaN
b 8 NaN
d 6 NaN
#1.字典的key自动成为列索引,index自动成为行索引
#2.数据会根据行列索引自动补齐
#从列表类型的字典创建
In [14]: import pandas as pd
In [15]: dl = { 'one':[1,2,3,4],'two':[9,8,7,6]}
In [16]: d = pd.DataFrame(dl,index = ['a','b','c','d'])
In [17]: d
Out[17]:
one two
a 1 9
b 2 8
c 3 7
d 4 6
#1.字典的key自动成为列索引,index自动成为行索引
#表格数据的示例
In [19]: import pandas as pd
In [20]: dl = {'城市':['北京','上海','广州','深圳','沈阳'],
...: '环比':[101.5,101.2,101.3,102.0,100.1],
...: '同比':[120.7,127.3,119.4,140.9,101.4],
...: '定基':[121.4,127.8,120.0,145.5,101.6]}
In [21]: d = pd.DataFrame(dl,index =['c1','c2','c3','c4','c5'])
In [22]: d
Out[22]:
城市 环比 同比 定基
c1 北京 101.5 120.7 121.4
c2 上海 101.2 127.3 127.8
c3 广州 101.3 119.4 120.0
c4 深圳 102.0 140.9 145.5
c5 沈阳 100.1 101.4 101.6
In [23]: d.index
Out[23]: Index(['c1', 'c2', 'c3', 'c4', 'c5'], dtype='object')
#.index方法获得DataFrame对象的index
In [24]: d.columns
Out[24]: Index(['城市', '环比', '同比', '定基'], dtype='object')
#.columns方法获得DataFrame对象的行索引
In [25]: d.values
#.values方法获得DataFrame对象的所有值
Out[25]:
array([['北京', 101.5, 120.7, 121.4],
['上海', 101.2, 127.3, 127.8],
['广州', 101.3, 119.4, 120.0],
['深圳', 102.0, 140.9, 145.5],
['沈阳', 100.1, 101.4, 101.6]], dtype=object)
In [26]: d['同比']
Out[26]:
c1 120.7
c2 127.3
c3 119.4
c4 140.9
c5 101.4
Name: 同比, dtype: float64
In [27]: d.loc['c2']
#获取一行用.loc['行索引']获取一行的值
Out[27]:
城市 上海
环比 101.2
同比 127.3
定基 127.8
Name: c2, dtype: object
In [28]: d['同比']['c2']
#d['列索引']['行索引']获取某个元素
Out[