python - 在熊猫中合并同一数据框中的列
问题描述
pandas 中是否有方法/内置函数允许根据列的名称将多列合并为一个?
例如,取这 3 列,其中每一行只有一个非 NaN 值
+-------+-------+-------+
| name1 | name2 | name3 |
+-------+-------+-------+
| a | NaN | NaN |
| b | NaN | NaN |
| NaN | c | NaN |
| NaN | d | NaN |
| NaN | NaN | e |
| NaN | NaN | f |
+-------+-------+-------+
并创建一个新列,例如
+------+
| name |
+------+
| a |
| b |
| c |
| d |
| e |
| f |
+------+
我知道你可以用 2 列来做一些事情,比如df.fill
填充现有的列,但是有没有办法像我的例子一样创建一个新的填充列?
解决方案
使用bfill
:
df['name'] = df.bfill(axis=1)['name1']
print(df)
# Output
name1 name2 name3 name
0 a NaN NaN a
1 b NaN NaN b
2 NaN c NaN c
3 NaN d NaN d
4 NaN NaN e e
5 NaN NaN f f
推荐阅读
- laravel - 如何在 laravel 中克隆具有自相关/自引用的数据
- java - 如何使用 JPA Criteria 在子查询中选择多个列
- json - 使用 JSON 在 Angular 中存储模板驱动的表单数据
- huawei-mobile-services - HMS应用开发 - 我丢失了华为应用程序库的签名密钥
- swift - 委托方法内部的代码未在 Xcode 内部运行
- reactjs - 为函数/无状态组件的方法创建单元测试
- jupyter-notebook - Jupyter 笔记本的包装器
- python - Python:解析 Excel 单元格符号以分别检索列和行
- reactjs - 反应 - 无法读取未定义的属性'question_desc'
- python - 尝试使用 selenium python 获取下拉菜单的长度时元素不存在错误