pandas系列—pandas库的DataFrame类型
一、DataFrame概述
1. DataFrame类型由共用相同索引的一组列组成。
2. DataFrame是一个表格型的数据类型,每列值类型可以不同。
3. DataFrame常用于表达二维数据,也可表达多维数据。
4. DataFrame既有行索引(index),也有列索引(column)
二、DataFrame类型的创建
DataFrame类型可由以下类型创建:
1. 二维ndarray对象
2. 由一维ndarray、列表、字典、元组或Series构成的字典
3. Series类型
4. 其他的DataFrame类型
2.1 从二维ndarray对象创建
import pandas as pd
import numpy as np
d = pd.DataFrame(np.arange(10).reshape(2,5))
d
Out[58]:
0 1 2 3 4
0 0 1 2 3 4
1 5 6 7 8 9
2.2 从二维ndarray对象字典创建
import pandas as pd
dt = {'one':pd.Series([1,2,3],index=['a','b','c']),
'two':pd.Series([9,8,7,6],index=['a','b','c','d'])}
d = pd.DataFrame(dt)
d
Out[69]:
one two
a 1.0 9
b 2.0 8
c 3.0 7
d NaN 6
pd.DataFrame(dt,index=['b','c','d'],columns=['two','three'])
Out[71]:
two three
b 8 NaN
c 7 NaN
d 6 NaN
2.3 从列表类型的字典创建
import pandas as pd
dl = {'one':[1,2,3,4],
'two':[9,8,7,6]}
f = pd.DataFrame(dl,index=['a','b','c','d'])
f
Out[75]:
one two
a 1 9
b 2 8
c 3 7
d 4 6
再来看一个例子:
import pandas as pd
dl = {'城市':['北京','上海','广州','深圳','沈阳'],
'环比':[101.5,101.2,101.3,102.0,100.1],
'同比':[120.7,127.3,119.4,140.0,101.4],
'定基':[121.4,127.8,120.0,145.5,101.6]
}
g = pd.DataFrame(dl,index=['c1','c2','c3','c4','c5'])
g.index
Out[75]: Index(['c1', 'c2', 'c3', 'c4', 'c5'], dtype='object')
g.columns
Out[76]: Index(['同比', '城市', '定基', '环比'], dtype='object')
g.values
Out[77]:
array([[120.7, '北京', 121.4, 101.5],
[127.3, '上海', 127.8, 101.2],
[119.4, '广州', 120.0, 101.3],
[140.0, '深圳', 145.5, 102.0],
[101.4, '沈阳', 101.6, 100.1]], dtype=object)
g['同比']
Out[78]:
c1 120.7
c2 127.3
c3 119.4
c4 140.0
c5 101.4
Name: 同比, dtype: float64
g.ix['c2']
__main__:1: DeprecationWarning:
.ix is deprecated. Please use
.loc for label based indexing or
.iloc for positional indexing
See the documentation here:
http://pandas.pydata.org/pandas-docs/stable/indexing.html#deprecate_ix
Out[79]:
同比 127.3
城市 上海
定基 127.8
环比 101.2
Name: c2, dtype: object
g['同比']['c2']
Out[80]: 127.3
注:DataFrame是二维带“标签”数组
参考资料:北京理工大学嵩天老师教学视频