【发布时间】:2019-02-04 14:07:38
【问题描述】:
我有一个带有多个索引的 Pandas 系列,我正在尝试按级别“ID”进行迭代。这个想法是 for 循环将递增到下一个“ID”,因此我可以将与该 ID 关联的所有值切片以传递给一个函数,以将每个 ID 绘制为不同的颜色。
rest confidence
ID ts
33 21:30:50 150.01001 95.9864
21:30:52 148.826187 79.530624
21:30:53 148.957123 54.75795
55 21:30:52 168.325577 37.43358
21:30:53 172.813446 33.133442
61 21:30:50 107.335625 32.807873
Pandas 文档(Pandas MultiIndex) 有助于切片和获得工作 for 循环(如下)。使用 df.index.levels[0] 返回我需要运行 for 循环的索引值,但是,似乎就像有一种更好更快的方法来告诉它迭代给定的索引级别。有吗?
for IDn in list(df.index.levels[0]):
print( df.loc[ (IDn,slice(None)),['confidence','rest'] ].xs(slice(None),level='ID') )
我已经解决了这个问题(Pandas how to loop through a MultiIndex series),似乎 groupby 和 apply 函数就是这样。
【问题讨论】:
标签: python pandas indexing series