python - 从具有最多数据(非 NA)的三列创建组合列
问题描述
我有如下数据:
import pandas as pd
df = pd.DataFrame(data=[[1,-2,3,0,0], [0,0,0,4,0], [0,0,0,0,5]]).T
df.columns = ['col1', 'col2', 'col3']
> df
col1 col2 col3
1 0 0
-2 0 0
3 0 0
0 4 0
0 0 5
我想创建第四个(“Col4”),它采用非零的 col。
所以结果是:
col1 col2 col3 col4
1 0 0 1
-2 0 0 -2
3 0 0 3
0 4 0 4
0 0 5 5
编辑:如果两个非零,请始终使用col1
. 此外,这些数字可能是负数。我已更新df
以反映这一点。
解决方案
使用最大的列是可能的
df['col4'] = df.max(axis=1)
推荐阅读
- c# - 如何在 Xamarin 表单中刷新自定义工具栏
- rust - 即使类型不可能实现特征,它是否是报告“特征的冲突实现”的编译器限制?
- vba - 访问 VBA 如何从附件字段中读取 txt 文件
- python - 如何在 Python 中正确测试析构函数?
- javascript - 承诺数据解决后组件未呈现
- asp.net - 从下拉列表中选择一个值,并在转发器控件中显示与该选定值相关的所有信息
- c# - EWS 异常:没有可用的公用文件夹服务器
- c++ - 如何使用字符串指针访问地图的键
- javascript - MongoDB (JS),如果可用,对一个文档属性进行查询操作,否则获取其他属性
- python-3.x - 如何使用 selenium python 单击按钮