python - 如何索引和切片多索引熊猫数据框
问题描述
在下面的多索引数据框中,如何对其进行切片以便选择索引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
我可以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])]
推荐阅读
- mysql - 在另一列SQL的连接信息中查找一列信息
- android - 为什么我的显示中缺少我的 FloatingActionButton?
- python - python ctypes中指向C++自定义类实例的截断指针地址
- sql - 如果客户不在组中,则显示空白
- c# - 如何在 C++ 端将 SharedMemory 映射文件读出为不同的数据类型
- compare - NSIS - 尝试比较两个字符串时出错
- python - 品脱列表转换
- ruby-on-rails - 设计与远程身份验证和本地数据库身份验证的集成
- python - 如何定期更新对象配置?
- php - sql中的COUNT函数计算数据库中的整个数据