[英]Efficient way to get the non null string values from two pandas series aligned with index
我也有两个带有nan
熊猫字符串系列,让我们说:
a = pd.Series(['A', 'B', np.nan, np.nan])
b = pd.Series(['A', np.nan, 'C', np.nan])
和所需的输出如下:
result = ['A', 'B', 'C', np.nan]
什么可能是获得所需结果的最有效和最pythonic 的方式。 请注意,我的系列包含 100 万个条目,因此最有效的方式(可能使用numpy
)也是可以接受的。
我建议使用fillna
。
a.fillna(b)
0 A
1 B
2 C
3 NaN
dtype: object
尝试这个:
print(pd.DataFrame([a,b]).apply(lambda x: next(iter(x.dropna().tolist()),np.nan),axis=0))
更好的是conbine_first
:
print(a.combine_first(b))
两个输出:
0 A
1 B
2 C
3 NaN
dtype: object
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.