将多个列合并为一列
我有以下数据框:
Column1 Column2 Column3 Column4 Column5
0 value1 x1 y1 na na
1 value2 x2 y2 na na
2 value3 x3 na z1 na
3 value4 x4 na z2 na
4 value5 x5 na na w1
我想要以下内容
Column1 Column2 Column
0 value1 x1 y1
1 value2 x2 y2
2 value3 x3 z1
3 value4 x4 z2
4 value5 x5 w1
我怎样才能实现这一目标?看来 stack() 不适用于此任务。
我将不胜感激任何帮助。
i have the following dataframe:
Column1 Column2 Column3 Column4 Column5
0 value1 x1 y1 na na
1 value2 x2 y2 na na
2 value3 x3 na z1 na
3 value4 x4 na z2 na
4 value5 x5 na na w1
I want the following
Column1 Column2 Column
0 value1 x1 y1
1 value2 x2 y2
2 value3 x3 z1
3 value4 x4 z2
4 value5 x5 w1
How can I achieve this? It seems that stack() doesn't works for this task.
I'll appreciate any help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将初始列设置为索引,然后在轴 1 上回填并选择第一列:
Set the initial columns as index, then back fill on axis 1 and select the first column:
一种选择是使用
pyjanitor
中的coalesce
来抽象进程(在幕后,它只是 bfill/ffill):One option is with
coalesce
frompyjanitor
to abstract the process(under the hood, it's just bfill/ffill):