python-3.x - 从 Pandas df 中选择相关的列/轴
问题描述
我有一个如下所示的熊猫数据框。我想建立一个相关矩阵,为一系列客户记录建立产品所有权与利润/成本/rev 之间的关系。
prod_owned_a prod_owned_b profit cost rev
0 1 0 100 75 175
1 0 1 125 100 225
2 1 0 100 75 175
3 1 1 225 175 400
4 0 1 125 100 225
理想情况下,矩阵将所有 prod_owned 沿一个轴,利润/成本/rev 沿另一个轴。我想避免在相关矩阵中包含 prod_owned_a 和 prod_owned_b 之间的相关性。
问题:如何为每个轴选择特定列?谢谢!
解决方案
只要列的顺序不变,就可以使用切片:
df.corr().loc[:'prod_owned_b', 'profit':]
# profit cost rev
#prod_owned_a 0.176090 0.111111 0.147442
#prod_owned_b 0.616316 0.666667 0.638915
更强大的解决方案定位所有“prod_*”列:
prod_cols = df.columns.str.match('prod_')
df.corr().loc[prod_cols, ~prod_cols]
# profit cost rev
#prod_owned_a 0.176090 0.111111 0.147442
#prod_owned_b 0.616316 0.666667 0.638915
推荐阅读
- r - ggmap 和空间绘图 - 奇怪的绘图
- javascript - 向 HTML Canvas 元素中的像素添加事件侦听器
- xcode - 无法使用超过 2 个 ForEach 语句构建 SwiftUI
- visual-studio-code - 键绑定“不接受值”(1.40 更新后)
- jquery - Rails:jQuery-ui-Slider-Pips:错误:滑块小部件实例没有这样的方法'pips'
- r - 我不能在 R 的其他函数中使用函数吗?
- python - 使用 RequestHandler.set_secure_cookie() 的龙卷风不允许添加 samesite 属性
- c - 为什么在linux系统调用实现中需要“asmlinkage”?
- javascript - 文档 querySelectorAll 以查找元素的部分属性名称?
- python - 在numpy中重新排序矩阵