如何创建一个pandas数据透视表

时间:2018-01-18 16:38:11

标签: python pandas pivot-table

我有以下数据框,并希望从中创建一个数据透视表。

数据框

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作为valuevalues作为其他内容时,它会起作用,但我仍然无法获得所需的数据框,而不是如果有一个values列,我会得到尽可能多的列。

以下是所需输出的样子:

ID  Value
A   0.252965444
B   0.359103333
C   0.324656429
D   0.529735
E   0.216861
F   0.164108571
G   0.208918

2 个答案:

答案 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