我有一个数据框,可以从下面给出的代码生成
df = pd.DataFrame({'person_id' :[1,2,3],'date1':
['12/31/2007','11/25/2009','10/06/2005'],'val1':
[2,4,6],'date2': ['12/31/2017','11/25/2019','10/06/2015'],'val2':[1,3,5],'date3':
['12/31/2027','11/25/2029','10/06/2025'],'val3':[7,9,11]})
我按照下面的解决方案将其从宽转换为长
pd.wide_to_long(df, stubnames=['date', 'val'], i='person_id',
j='grp').sort_index(level=0)
虽然这适用于如下所示的示例数据,但它不适用于我的超过 200 列的真实数据。我的真实数据不是 person_id,而是 subject_ID,它是 DC0001、DC0002 等值。“I”总是必须是数字吗?相反,它将存根值添加为我的数据集中的新列,并且行数为零
这就是我真正的专栏的样子
我的真实数据可能也包含 NA。那么我是否必须用 Wide_to_long 的默认值填充它们才能工作?
您能帮忙看看可能是什么问题吗?或者任何其他达到相同结果的方法也是有帮助的。