[英]How to slice a Pandas DataFrame with a MultiIndex index and a MultiIndex column?
[英]How to index and slice a multiindex pandas dataframe
在下面的多索引 dataframe 中,我如何对其进行切片以便我 select 行索引sign
== 1 和列csum_count == 8
?
In [15]: raw3.head(20)
Out[15]:
csum_count mean_return
sign cumsum
1 326 9 0.165
854 9 0.081
1346 9 0.055
1440 9 0.157
1554 9 0.069
418 8 0.082
578 8 0.119
638 8 0.113
896 8 0.076
1480 8 0.059
54 7 0.085
446 7 0.120
476 7 0.071
484 7 0.094
594 7 0.089
622 7 0.069
644 7 0.061
1018 7 0.080
1550 7 0.085
1736 7 0.201
我可以通过以下方式 select 所有带有sign == 1
的行: raw3.loc[(-1,)]
。 如何添加csum_count == 8?
. 认为raw3.loc[(-1,),'csum_count'==8]
可能有效,但没有。
您可以通过调用DataFrame.index.get_level_values()
过滤多个索引,并将要切片的索引的名称(或级别)传递给它。 除此之外,您还可以在其中一列上添加条件。
raw3[(raw3.index.get_level_values('sign') == 1) & (raw3[csum_count == 8])]
您可以对 DataFrame 使用 .query() 方法,并传递 boolean 字符串。
在你的情况下, raw3.query('sign == 1 and cumsum == 8')
应该给你你想要的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.