python - 如何根据与行索引对应的列表获取数据帧的子集?
问题描述
我有一个看起来像这样的熊猫数据框:
row|a|b|
0 |1|2
1 |2|0
2 |1|1
3 |3|2
4 |1|1
5 |1|0
我想获得每列的平均值,但仅适用于第 1、3、4 行,然后与第 0、2、5 行的平均值进行比较。索引存储在一个 numpy 数组keep = np.array([1,3,4])
和take = np.array([0,2,5])
. 理想的输出是一个数组或数据框,如下所示:
keep |2|1
take |1|1
有谁知道如何做到这一点?
解决方案
连接怎么样:
pd.concat({'keep':df.iloc[keep].mean(),
'take':df.iloc[take].mean()}
).unstack()
输出:
a b
keep 2.0 1.0
take 1.0 1.0
推荐阅读
- django - 在 reactjs 中使用 axios 发出请求时出现 400(错误请求)状态码
- sql - 如何在聚合函数中使用 Order By
- python-3.x - Python 3:将变量从一个类传递到另一个类
- java - 使用 Java 程序的电子邮件正文中的表格格式
- amazon-web-services - Firehose - 仅从流中复制特定的特定数据
- c# - C# 正则表达式接受电流/电压值
- logging - 如何从外部程序手动轮换日志文件?
- css - 让 div 使用屏幕的所有剩余高度
- json - 使用 django-rest-framework 在数据库中保存 200 个对象的正确方法是什么?
- java - 如何使用当前位置的纬度和经度来了解一个地方的主要心线间方向(N、E、S、W)?