我正在编辑这个问题我不想使用groupby来使用组值。
如果有人能帮助您通过以下方式进行数据转换,我将不胜感激:
我有一个数据帧如下:

df1:

col1    col2
------------
VG       12
G        11
A        10
P        06
VP       0

我想要新的数据帧,例如:
df2:

VG    G   A   P   VP
---------------------
12    11  10   06  0

我尝试使用if条件实现此目标,但出现以下错误:
代码:
 if df1.Score=='VG':
    df2['VG']=df1.loc[df1['col1'] == 'VG', 'col2']

 The truth value of a Series is ambiguous. Use a.empty, a.bool(),
 a.item(), a.any() or a.all()

最佳答案

aggtransform将起作用:)

df.groupby('col1').agg(list).col2.transform(pd.Series).T.fillna(0)

    A   G   P       VG          VP
0   10.0    11.0    6.0 12.0    0.0
1   50.0    0.0     0.0 53.0    0.0

07-24 17:28