首页 > 解决方案 > 如何将 pandas 列分配给其他列,如果是 nan,如何分配默认值?

问题描述

我有

df=

a
1
nan
3

我想要一些语法

df["b"] = df["a"] or 5

去创造

a     b
1     1
nan   5
3     3

熊猫支持这样的东西吗?

奖金:

每个索引/组/任何东西的不同默认值怎么样?

标签: pythonpandas

解决方案


import pandas as pd
import numpy as np


df = pd.DataFrame({"a": [1, np.nan, 3]})
df["b"] = df["a"].fillna(5)
print(df)
     a    b
0  1.0  1.0
1  NaN  5.0
2  3.0  3.0

挖掘文档给出了标准的熊猫解决方案。无需通过 numpy.


推荐阅读