Python帮助Pandas行和列

2024-04-25 09:00:11 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我对python有点陌生,但我有这样一个数据帧:

ID  NAME        NAME1      VALUE
1   Sarah       orange     5
1   Roger       apple      3
2   Amy         pineapple  2
2   Kia         pear       8

我想要这样:

ID NAME   NAME1     VALUE  NAME   NAME1  VALUE
1  Sarah  orange     5     Roger  apple   3
2  Amy    pineapple  2     Kia    pear    8

我正在使用pandas,但不确定如何实现这一点并将其写入csv。任何帮助都将不胜感激!谢谢


Tags: 数据nameidapplepandasvaluepearorange
1条回答
网友
1楼 · 发布于 2024-04-25 09:00:11

^{}^{}表示MultiIndex,用^{}重塑形状,用^{}按第二级对MulitIndex排序,最后用^{}按列表理解将其展平:

df = df.set_index(['ID',df.groupby('ID').cumcount()]).unstack().sort_index(axis=1, level=1)
#python 3.6+
df.columns = [f'{a}_{b}' for a, b in df.columns]
#python bellow 3.6
#df.columns = ['{}_{}'.format(a,b) for a, b in df.columns]
df = df.reset_index()
print (df)
   ID NAME_0    NAME1_0  VALUE_0 NAME_1 NAME1_1  VALUE_1
0   1  Sarah     orange        5  Roger   apple        3
1   2    Amy  pineapple        2    Kia    pear        8

相关问题 更多 >