В этом случае я использовал бы comb_first ... особенно, если barcode_y
не dtype object
df.barcode_y.combine_first(df.barcode_x)
Если barcode_y
равно dtype object
, я думаю, вы можете пойти на этот дополнительный шагкак ниже:
>>> df
barcode_x barcode_y
0 1 0
1 123 None
2 543
>>> df.barcode_y = df.barcode_y.combine_first(df.barcode_x)
>>> df
barcode_x barcode_y
0 1 0
1 123 123
2 543
>>> df.loc[df.barcode_y.str.strip()=='', 'barcode_y'] = df.loc[df.barcode_y.str.strip()=='', 'barcode_x']
>>> df
barcode_x barcode_y
0 1 0
1 123 123
2 543 543