[英]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.