Pandas数据框避免遍历列和行
我有一个带有几列的 df,看起来有点像这样:
| 一种 | 乙 | C |
|---|---|---|
| NaN | 3 | 2 |
| 6 | 4 | NaN |
| 2 | 4 | NaN |
| 1 | NaN | NaN |
| NaN | NaN | NaN |
| ... | ... | ... |
回答
尝试:
df["D"] = df.bfill(axis=1)["A"] * 3
print(df)
印刷:
A B C D
0 NaN 3.0 2.0 9.0
1 6.0 4.0 NaN 18.0
2 2.0 4.0 NaN 6.0
3 1.0 NaN NaN 3.0
4 NaN NaN NaN NaN
解释:
您想将“A”列中的非 NaN 值相乘。因此,让我们首先尝试从值到“A”填充“A”中的所有 NaN 值。我们bfill()在任务的行上使用方法(回填)。然后将“A”列乘以 3。