我有一个数据帧,可以从下面给出的代码生成
df = pd.DataFrame({'person_id' :[1,2,3],'date1': ['12/31/2007','11/25/2009','10/06/2005'],'date1derived':[0,0,0],'val1':[2,4,6],'date2': ['12/31/2017','11/25/2019','10/06/2015'],'date2derived':[0,0,0],'val2':[1,3,5],'date3':['12/31/2027','11/25/2029','10/06/2025'],'date3derived':[0,0,0],'val3':[7,9,11]})
数据帧如下所示
我想保留每个人的行作为单独的行,而不是如屏幕截图所示的列在上面另外,我希望删除date1derived、date2derived列。你知道吗
我确实尝试了以下方法,但它们没有提供预期的输出
1) df.set_index(['person_id']).stack()/unstack
2) df.set_index(['person_id','date1','date2','date3']).stack()/unstack()
3) df.set_index('person_id').unstack()/stack
我怎样才能得到这样的输出?我有600多列,所以我不认为手动编写列名对我有帮助。你知道吗
这是一个^{} 问题:
要匹配预期输出:
您可以不使用wide\u to\u long()而只使用append()
输出:
相关问题 更多 >
编程相关推荐