我有
df
=
a
1
nan
3
我想要一些语法
df["b"] = df["a"] or 5
创建
a b
1 1
nan 5
3 3
熊猫支持这样的东西吗?
奖金:
每个索引/组/任何内容的不同默认值如何?
答案 0 :(得分:2)
您可以使用np.where
df['b'] = np.where(df['a'].isna(), 5, df['a'])
print(df)
a b
0 1.0 1.0
1 NaN 5.0
2 3.0 3.0
答案 1 :(得分:2)
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
深入研究the doc提供了标准的熊猫解决方案。无需经历numpy。
答案 2 :(得分:-1)
您可以为此使用applymap()
函数甚至factorize()
函数。