Pandas 如何将熊猫中的列转换为行?

Pandas 如何将熊猫中的列转换为行?,pandas,pivot,dataframe,pivot-table,Pandas,Pivot,Dataframe,Pivot Table,我有一个数据帧: user_id product_name 0001 a 0001 b 0001 c 0002 b 0003 a 0003 c 0003 d 我想将“产品名称”列转换为: user_id A B C D 0001 a b c NaN 0002 NaN b NaN NaN 0003 a NaN c

我有一个数据帧:

user_id    product_name
0001       a
0001       b
0001       c
0002       b
0003       a
0003       c
0003       d
我想将“产品名称”列转换为:

user_id    A    B    C    D
0001       a    b    c    NaN
0002       NaN  b    NaN  NaN
0003       a    NaN  c    d

首先,我们将创建一个重复的
product\u name
列,我们将其命名为
product\u name\u extra
稍后我们将使用此列

df['product_name_extra'] = df.product_name
Out[223]:
user_id      product_name   product_name_extra
1                  a                a
1                  b                b
1                  c                c
2                  b                b
3                  a                a
3                  c                c
3                  d                d
然后旋转已编辑的数据框,如果要获取有关旋转的详细信息,请选中此项

df_pivot = df.pivot(index='user_id' , columns='product_name' , values='product_name_extra')
Out[222]:
product_name    a   b   c   d
user_id             
1               a   b   c   NaN
2               NaN b   NaN NaN
3               a   NaN c   d
然后最后重命名您的列

df_pivot.rename(columns=str.upper)
Out[225]:
product_name    A   B   C   D
user_id             
1               a   b   c   NaN
2               NaN b   NaN NaN
3               a   NaN c   d

你能发布一个文本解释(不仅仅是内联评论)吗?当然我已经更新了我的答案,如果你还需要进一步的解释,请告诉我