【发布时间】:2020-12-18 21:43:59
【问题描述】:
这是one的后续帖子
请找到 MCVE here
我的数据框与以下类似:
ID Date ColA1 ColB1 ColA2 ColB2 ColA3 ColB3
id1 date1 1 2 3 4 5 6
id2 date2 7 8 9 10 11 12
我想拆分列ColA2、ColB2、ColA3、ColB3 并将它们作为行再次合并到数据集中(并且仍然保留ID 和Date)
预期输出:
ID Date ColA ColB
id1 date1 1 2
id1 date1 3 4
id1 date1 5 6
id2 date2 7 8
id2 date2 9 10
id2 date2 11 12
我都试过了
pd.wide_to_long(df, stubnames = ['ColA', 'ColB'], i = ['ID', 'Date'], j = 'value').reset_index([0,1])
和
pd.wide_to_long(df.reset_index(), stubnames = ['ColA', 'ColB'], i = ['ID', 'Date'], j = 'value').reset_index(drop=True)
但还是出现同样的错误,说the id variables need to uniquely identify each row。
我也已经尝试了here 和reset_index() 的方法,但我仍然遇到同样的问题。
我猜这个问题来自我的特定数据集。但我不知道它有什么问题以及如何解决这个问题,以解决这个问题。你有什么建议吗?
请告诉我我能做些什么来解决这个问题。谢谢!
【问题讨论】:
-
我无法重现该问题。第一个代码工作正常。请提供Minimal, Complete, and Verifiable 示例。
-
嗨,乔治,谢谢你的建议。我已经在问题中添加了 MCVE 的链接。你也可以找到它here。我期待收到您的更多消息。谢谢!
-
不幸的是,这不是 MCVE。您应该直接在问题正文中提供一些输入数据的最小示例,而不是通过可能会在一段时间后失效的链接。 CSV 中的数据包含 1000 行,这不是最少的!此外,您的代码示例对
ColA、ColB等列名进行操作...但我在 CSV 中看不到这些列。 -
嗨,乔治。我仍在研究如何将输入数据直接添加到问题中。但我会尽快添加。我还将 CSV 链接中的数据缩短为 10 行,我希望你能在此期间帮助我。我试图通过将列命名为
ColA、ColB来简化我的问题。我很抱歉造成混乱。我希望你能理解并能帮助我。谢谢! -
CSV文件中的
ID、Date、ColA和ColB对应的列有哪些?