我有一个这样的数据框:
ID Status Status_date
1 Active 10/9/2010
1 Closed 12/10/2010
2 Open 2/2/2013
3 Open 12/02/2012
3 Active 2/3/2013
4 Closed 3/3/2009
我想将其设置为如下所示:
ID Status Status_date Status Status_date Status Status_date
1 NaN NaN Active 10/9/2010 Closed 12/10/2010
2 Open 2/2/2013 NaN NaN NaN NaN
3 Open 12/2/2012 Active 2/3/2013 NaN NaN
4 NaN NaN NaN NaN Closed NaN
我应该如何解决这个问题?
答案 0 :(得分:0)
我不确定您为什么要这样使用数据,但是确实如此:
new_df = (df.pivot('ID','Status',['Status','Status_date'])
.sort_index(level=(1,0), axis=1)
)
new_df.columns = [x for x,_ in new_df.columns]
输出:
Status Status_date Status Status_date Status Status_date
ID
1 Active 10/9/2010 Closed 12/10/2010 NaN NaN
2 NaN NaN NaN NaN Open 2/2/2013
3 Active 2/3/2013 NaN NaN Open 12/02/2012
4 NaN NaN Closed 3/3/2009 NaN NaN
请注意,除非您真的知道自己在做什么,否则通常不建议在Pandas中使用重复的列名