Skip to main content
 首页 » 编程设计

python之如何创建 pandas 数据透视表

2025年05月04日22zengkefu

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

数据框

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 

请您参考如下方法:

这里似乎不需要 pivot_table。您可以使用 groupby达到预期的效果

df.groupby('ID')['Value'].mean()