我有以下数据框,并希望从中创建一个数据透视表。
数据框
ID value
A 0.093392
A 0.130599
A 0.257946
A 0.274428
B 0.38097
B 0.321893
A 0.279304
D 0.305667
C 0.563479
F 0.216861
A 0.252754
A 0.259845
A 0.370912
E 0.190137
E 0.180974
E 0.178766
E 0.194251
G 0.208918
C 0.495991
D 0.449585
D 0.286733
D 0.425436
D 0.411018
B 0.374447
D 0.214219
A 0.357509
E 0.257467
E 0.058252
E 0.088913
D 0.17993
我所做的是以下内容:
df.index = df['ID']
df_pvt = df.pivot_table(values='value',index='ID', columns=['value'], aggfunc='mean')
但是我得到了
KeyError: 'value'
据我所知,当我将columns
作为value
和values
作为其他内容时,它会起作用,但我仍然无法获得所需的数据框,而不是如果有一个values
列,我会得到尽可能多的列。
以下是所需输出的样子:
ID Value
A 0.252965444
B 0.359103333
C 0.324656429
D 0.529735
E 0.216861
F 0.164108571
G 0.208918
答案 0 :(得分:4)
这似乎你不需要pivot_table。您可以使用groupby来获得所需的结果
df.groupby('ID')['Value'].mean()
答案 1 :(得分:0)
没有groupby
df.set_index('ID').value.mean(level=0)
Out[26]:
ID
A 0.252965
B 0.359103
D 0.324655
C 0.529735
F 0.216861
E 0.164109
G 0.208918
Name: value, dtype: float64