python:熊猫中的查询表,分组

时间:2018-07-30 04:06:19

标签: python pandas

我有两个数据帧,每个数据帧包含一个主题水平数据(df1),一个数据帧具有针对每个主题的多个测量值(df1)。

我想使用df1作为查找表,它告诉我如何对df2中的值进行分组(nb:每一行都描述了对主题进行分组的不同方法)。我将遍历df2的每一行,并为df1的每一行中描述的组计算一些统计信息(现在说平均值)。

import pandas as pd
import numpy as np

df1 = pd.DataFrame({'A': list('abca'), 'B': list('bccb'), 'C': list('bcca')})
df2 = pd.DataFrame(np.random.randint(0,100,size=(100, 9)), columns=list(['A-1','A-2', 'A-3','B-1','B-2', 'B-3','C-1','C-2', 'C-3']))

print(df1)
   A  B  C
0  a  b  b
1  b  c  c
2  c  c  c
3  a  b  a

困难在于,对于每个受试者(A,B或C),在此示例中可能有1个或多个测量值,而它们都有3个测量值。我需要做的是将df2中的列名的第一部分与df1中的列名进行匹配。

    A-1  A-2  A-3  B-1  B-2  B-3  C-1  C-2  C-3
0    99   81   17    3   75   50   24   71    3

假设我是故意的。我想产生这样的输出。

df1_row df2_row mean-a mean-b mean-c
0       0       65.67  37.67  NA
1       0       NA     65.67  37.67
2       0       NA     NA     47
3       0       49.17  42.67  NA

0 个答案:

没有答案