Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何基于对应于行索引的列表获取数据帧的子集?_Python_Pandas_Dataframe_Row - Fatal编程技术网

Python 如何基于对应于行索引的列表获取数据帧的子集?

Python 如何基于对应于行索引的列表获取数据帧的子集?,python,pandas,dataframe,row,Python,Pandas,Dataframe,Row,我有一个熊猫数据框,看起来像这样: 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'

我有一个熊猫数据框,看起来像这样:

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
来一杯康考特怎么样

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

这基本上奏效了!我最后只是单独保存了它们,因为输出形状与我要查找的有点不同,所以它只是pd.concat中的字典?我刚刚看到了修改后的答案,unstack()工作得很好!!这基本上奏效了!我最后只是单独保存了它们,因为输出形状与我要查找的有点不同,所以它只是pd.concat中的字典?我刚刚看到了修改后的答案,unstack()工作得很好!!