我有一个形式为
的pandas Dataframe "a" "b" "c" #first level index
0, 1, 2 0, 1, 2 0, 1, 2 #second level index
index
0 1,2,3 6,7,8 5,3,4
1 2,3,4 7,5,4 9,2,5
2 3,4,5 4,5,6 0,4,5
...
表示进行测量的点(a,b或c)以及在此点发生的测量结果(0,1,2)。
我想做以下事情:
我试图了解大熊猫Multiindex文档,但是没有设法切换到第二级。
这是列索引:
MultiIndex(levels=[['a', 'b', 'c', ... , 'y'], [0, 1, 2, ... , 49]],
labels=[[0, 0, 0, ... , 0, 1, 1, 1, ... 1, ..., 49, 49, 49, ... 49]])
索引
Float64Index([204.477752686, 204.484664917, 204.491577148, ..., 868.723022461], dtype='float64', name='wavelength', length=43274)
使用
df[:][0]
产生键错误(0不在索引中)
df.iloc[0]
返回水平切片
0 "a":(1,2,3), "b":(6,7,8), "c":(5,3,4)
但我想
"a":(1,2,3), "b":(6,7,4), "c":(5,9,0)
THX提供任何帮助
PS:版本:pandas-0.19,python-3.4
答案 0 :(得分:0)
诀窍是指定轴......
JScrollBar
提供每个点的第0次测量。 由于我在二级索引上使用整数,我不确定这是否实际上产生了标签" 0"或者只是DataFrame中的第0个测量,与标签无关。
但对于我的用例,这实际上已经足够了。