如何在Python中为DataFrame添加含指定列非零最小值的新列
解决方案
可以用以下Pandas代码实现你的需求:
import pandas as pd # 假设你的DataFrame名为df target_cols = ['b', 'd', 'g'] # 将目标列中的0替换为NaN,方便后续忽略0求最小值 temp = df[target_cols].replace(0, pd.NA) # 计算每行的最小值,全为NaN时填充0 df['new_column'] = temp.min(axis=1).fillna(0)
代码逻辑说明
- 先指定需要处理的目标列
b、d、g - 将这些列中的
0替换为pd.NA,让计算最小值时自动忽略0值 - 对每行计算最小值,若所有值都是NaN(即原列全为0或NaN),则用
fillna(0)填充为0 - 最后将结果赋值给新列
new_column
示例验证
| b | d | ... | g | new_column |
|---|---|---|---|---|
| 0 | 0 | ... | 0 | 0 |
| 2 | 5 | ... | 0 | 2 |
| 1 | 0 | ... | 1 | 1 |
内容的提问来源于stack exchange,提问作者John Luke
相关产品推荐
相关产品推荐

