Pandas, create new column if previous column(s) are not in [None, '', np.nan]
zljubisic at gmail.com
zljubisic at gmail.com
Wed Apr 11 14:48:46 EDT 2018
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.
More information about the Python-list
mailing list