import pandas as pd
import numpy as np
from pandas import DataFrame,Series
# 使用 Dataframe的列作为索引
frame = DataFrame({'a':range(7),'b':range(7,0,-1),
'c':['one','one','one','two','two','two','two'],
'd':[0,1,2,0,1,2,3]})
frame
frame2 = frame.set_index(['c','d']) # set_index 函数可以将一个或者多个列转成行的索引并且创建一个新的dataframe
frame2
frame.set_index(['c','d'],drop=False) # 会自动把 c d 两列去掉,可以添加drop参数来决定他们的去留
frame2.reset_index() # 和set_index相反,层次化的索引会被加入到列里面
# 面板数据
import pandas.io.data as web
pdata = pd.Panel(dict((stk,web.get_data_yahoo(stk,'1/1/2009','6/1/2012'))
for stk in ['AAPL','GOOG','MSFT','DELL'])) # 由一个DataFrame对象组成的字典或者三维ndaray创建panel对象
pdata
pdata = pdata.swapaxes('items','minor')
pdata['Adj Close']
pdata.ix[:,'6/1/2012',:]
pdata.ix['Adj Close','5/22/2012':,:]
stacked = pdata.ix[:,'5/30/2012'].to_frame()
stacked.to_panel() # to_frame()的逆运算
利用Python数据分析:pandas入门(六)
最新推荐文章于 2021-11-30 14:19:51 发布