我正在尝试使用NaN添加两列。
我想要的行为是:
a = pd.DataFrame([1, np.NaN, 4, 5])
b = pd.DataFrame([3, np.NaN, 5, np.NaN])
a+b
0 4.0
1 NaN
2 9.0
3 NaN
有没有办法做这个内置函数?
答案 0 :(得分:3)
您可以使用pd.concat()
代替建议的.add()
功能(添加也可以,但对于多个cols不太方便。)
pd.concat((a,b), axis=1).sum(1, min_count=1)
考虑这个示例:
import pandas as pd
import numpy as np
a = pd.Series([1, np.NaN, 4, 5])
b = pd.Series([3, np.NaN, 5, np.NaN])
c = pd.Series([np.NaN,np.NaN,np.NaN,np.NaN])
print(pd.concat((a,b,c), axis=1).sum(1, min_count=1))
#0 4.0
#1 NaN
#2 9.0
#3 5.0
#dtype: float64