Pandas的使用
2019-01-18 本文已影响2人
何同尘
Pandas是在numpy上加强的包,是高效实施数据框的包。DataFrame的本质是可以容纳不同数据类型的数组。并且还有数组名。
安装和导入
import pandas
import pandas as pd
从三个方面认识pandas
Series
DataFrame
Index
import numpy as np
import pandas as pd
series
Pandas的series对象是一个一维的有索引数组,可以通过列表创建。
>>> data = pd.Series([0.25, 0.5, 0.75, 1.0])
>>> data
0 0.25
1 0.50
2 0.75
3 1.00
dtype: float64
Series包含一个有顺序的值和一个有顺序的索引。
可以通过:data.index data.value 来访问。
可以看到,Series比numpy一维数组更加灵活。
创建:
#通过列表创建
data = pd.Series([0.25, 0.5, 0.75, 1.0],
index=['a', 'b', 'c', 'd'])
#通过字典来创建
population_dict = {'California': 38332521,
'Texas': 26448193,
'New York': 19651127,
'Florida': 19552860,
'Illinois': 12882135}
population = pd.Series(population_dict)
#广播数组创建
pd.Series(5, index=[100, 200, 300])
DataFrame
DataFrame 是多行Series构成的,具有行索引index,和 列名 columns。
可以通过 data.index 和 data.columns访问。
创建DataFrame对象
#通过简单的Series对象
states = pd.DataFrame({'serie1':serie1,'serie2':serie2})
#通过字典创建
data = [{'a':i,'b':2*i} for i in range(3)]
pd.DateFrame(data)
#通过一个二维numpy数组
A = np.zeros(3,dtype=[('A','i8'),('B','f8')])
A
pd.DataFrame(A)
pandas中的Index对象
pandas的对象最主要的区别就是有index,和colomns.
index 就如同一个数组。也可以直接访问
ind = pd.Index([2,3,5,7,11])
ind
ind[::2]
#索引之间的联合操作
indA = pd.Index([1, 3, 5, 7, 9])
indB = pd.Index([2, 3, 5, 7, 11])
indA & indB # intersection
indA | indB # union
indA ^ indB # symmetric difference