小编gra*_*s19的帖子

使用MultiIndex列在pandas数据框中添加一个字段

我已经找到了这个问题的答案,因为它似乎很简单,但还没有找到任何东西.如果我错过了什么,请道歉.我有pandas版本0.10.0,我一直在试验以下形式的数据:

import pandas
import numpy as np
import datetime
start_date = datetime.datetime(2009,3,1,6,29,59)
r = pandas.date_range(start_date, periods=12)
cols_1 = ['AAPL', 'AAPL', 'GOOG', 'GOOG', 'GS', 'GS']
cols_2 = ['close', 'rate', 'close', 'rate', 'close', 'rate']
dat = np.random.randn(12, 6)
cols = pandas.MultiIndex.from_arrays([cols_1, cols_2], names=['ticker','field'])
dftst = pandas.DataFrame(dat, columns=cols, index=r)
print dftst



ticker                   AAPL                GOOG                  GS          
field                   close      rate     close      rate     close      rate
2009-03-01 06:29:59  1.956255 -2.074371 -0.200568  0.759772 -0.951543  0.514577
2009-03-02 06:29:59  0.069611 -2.684352 -0.310006  0.730205 -0.302949 -0.830452
2009-03-03 06:29:59  2.077130 -0.903784  0.449857 …
Run Code Online (Sandbox Code Playgroud)

python time-series multi-index dataframe pandas

10
推荐指数
2
解决办法
5316
查看次数

pandas面板中的boolean mask

我在使用与DataFrame相同的方式屏蔽面板时遇到一些麻烦.我想做的事情很简单,但我没有找到一种方式来查看文档和在线论坛.我有一个简单的例子如下:

import pandas
import numpy as np
import datetime
start_date = datetime.datetime(2009,3,1,6,29,59)
r = pandas.date_range(start_date, periods=12)
cols_1 = ['AAPL', 'AAPL', 'GOOG', 'GOOG', 'GS', 'GS']
cols_2 = ['close', 'rate', 'close', 'rate', 'close', 'rate']
dat = np.random.randn(12, 6)

dftst = pandas.DataFrame(dat, columns=pandas.MultiIndex.from_arrays([cols_1, cols_2], names=['ticker','field']), index=r)
pn = dftst.T.to_panel().transpose(2,0,1)
print pn

Out[14]: 
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 12 (major_axis) x 3 (minor_axis)
Items axis: close to rate
Major_axis axis: 2009-03-01 06:29:59 to 2009-03-12 06:29:59
Minor_axis axis: AAPL to GS
Run Code Online (Sandbox Code Playgroud)

我现在有一个Panel对象,如果我沿项目轴切片,我得到一个DataFrame

close_p = …
Run Code Online (Sandbox Code Playgroud)

python mask panel pandas

6
推荐指数
1
解决办法
8093
查看次数

标签 统计

pandas ×2

python ×2

dataframe ×1

mask ×1

multi-index ×1

panel ×1

time-series ×1