python - 需要堆叠特定列并保持其他列不变
问题描述
我想堆叠列 B 和 C 并保持其他列不变。
这就是我所拥有的
A B C D
0 a1 hello1 bye1 d1
1 a2 hello2 bye2 d2
2 a3 hello3 bye3 d3
3 a4 hello4 bye4 d4
我尝试过使用 melt 和 stack 功能。得不到我想要的。
这就是我要的
A B C D
0 a1 hello1 d1
1 a2 hello2 d2
2 a3 hello3 d3
3 a4 hello4 d4
4 bye1
5 bye2
6 bye3
7 bye4
解决方案
尝试另一种方式:
cols=['B','C']
final=(df.reindex(range(df.shape[0]*len(cols)))
.assign(B=df.melt(df.columns^cols).value,C=np.nan).fillna(''))
A B C D
0 a1 hello1 d1
1 a2 hello2 d2
2 a3 hello3 d3
3 a4 hello4 d4
4 bye1
5 bye2
6 bye3
7 bye4
推荐阅读
- compiler-errors - 在 Microsoft Dynamics 365 中,为什么我不能内联 FormDataSource 的实例?
- macos - 为 Bazel 构建设置 MacOS 目标版本
- image - Flutter:在图像包中,如何将从 copyCrop() 返回的裁剪图像保存到路径?
- java - SonarQUBE 和 compareTo 日期
- c# - 如何通过坐标更改导入的 STL 文件的位置
- javascript - 无法从 ibm-watson IamTokenManager 获取身份验证令牌
- odoo - 如何在 Odoo14 中存储登录用户
- python - 我的 tensorflow 没有检测到我的 gpu 并使用我的 cpu(机器学习)
- xapi - 如何将包含一些交互的 xAPI 语句写入问题页面
- c# - 如何在参数化查询中传递模式名称