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