I have a dataframe: import pandas as pd import numpy as np
df = pd.DataFrame( { 'A' : ['a', 'b', '', None, np.nan], 'B' : [None, np.nan, 'a', 'b', '']}) A B 0 a None 1 b NaN 2 a 3 None b 4 NaN I would like to create column C in the following way: column C = column B if column B is not in [None, '', np.nan] else column A How to do that? I tried: df['C'] = df[['A', 'B']].apply(lambda x: x[1] if x[1] in [None, '', np.nan] else x[0]) but I got all np.nan's. Where am I wrong? I am expecting to get column C as ['a', 'b', 'a', 'b', NaN] Regards. -- https://mail.python.org/mailman/listinfo/python-list