【发布时间】:2018-03-25 15:14:42
【问题描述】:
我在选择 1. 和 2. 级别内的值时遇到了一些问题。
我通过设置
header = [0,1]获得了 MultiIndex
In[1]: df = pd.read_csv('Data.txt', sep='\t', header=[0,1], skipinitialspace=True)
In[2]: print(df.columns)
Out[2]: MultiIndex(
levels=[['20052065', '20052066', '20052082', '20052087', '20052089'],
['CTF1', 'CTF2', 'CTF3', 'CTF_M', 'CTM1', 'CTM2', 'CTM3', 'CTM_M']],
labels=[[...]],
names=[...])
如果尝试获取2.level值和选中元素的数据 从 1. 级别我得到以下输出:
In[3]: print(df['20052065'][['CTF1','CTF_M']])
Out[3]: TIME[s] CTF1 CTF_M
0.000 -14.386 14.963
60.000 -26.937 34.729
120.000 -29.986 58.265
... ... ...
现在我尝试为 2 个元素生成输出并执行以下操作:
In[4]: print(df[['20052065','20052066']][['CTF1','CTF_M']])
Out[4]: KeyError: "['CTF1' 'CTF_M'] not in index"
不知何故,这不起作用。也许你知道出了什么可怕的问题?
感谢您的帮助。
编辑: In[1]: print(df) 看起来像:
Out[1]: ELEMENT 20052065 20052066 20052082 20052087 20052089 20052090 \
TIME[s] TEMP[C] CTF1 CTF1 CTF1 CTF1 CTF1 CTF1
0.000 24.000 -4.234 -6.728 -14.386 -4.356 -6.926 -10.205
60.000 36.137 -29.308 -24.795 -26.937 -30.134 -24.735 -23.474
... ... ... ... ... ... ... ...
*.txt 文件如下所示:
【问题讨论】:
标签: python pandas dataframe multi-index