从宽到长返回空输出 - Python 数据框

2023-12-08

我有一个数据框,可以从下面给出的代码生成

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”总是必须是数字吗?相反,它将存根值添加为我的数据集中的新列,并且行数为零

这就是我真正的专栏的样子

enter image description here

我的真实数据可能也包含 NA。那么我是否必须用 Wide_to_long 的默认值填充它们才能工作?

enter image description here

您能帮忙看看可能是什么问题吗?或者任何其他达到相同结果的方法也是有帮助的。


尝试在函数中添加允许字符串后缀的附加参数。

pd.long_to_wide(.......................,suffix='\w+')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从宽到长返回空输出 - Python 数据框 的相关文章

随机推荐