Python帮助熊猫行和列

时间:2018-11-21 12:26:41

标签: python excel pandas dataframe

嗨,我是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

我正在使用熊猫,但不确定如何实现并写入csv。任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:0)

set_indexcumcount一起用于MultiIndex,按unstack整形,按sort_index按第二级对MulitIndex进行排序,最后按使用reset_index进行列表理解:

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