Suppose I have a dataframe as follows
JavaScript
x
6
1
earningspersharebasic earningsPerShareBasic
2
2019 -0.19 NaN
3
2018 NaN 4.00
4
2017 NaN 0.21
5
2016 0.01 NaN
6
how can I merge the two columns into one using pandas? The desired output is
output
JavaScript
1
6
1
earningspersharebasic
2
2019 -0.19
3
2018 4.00
4
2017 0.21
5
2016 0.01
6
Thank you!
Advertisement
Answer
Use Series.fillna
with DataFrame.pop
for replace missing values to another column with drop second column:
JavaScript
1
8
1
df['earningspersharebasic'] = df['earningspersharebasic'].fillna(df.pop('earningsPerShareBasic'))
2
print (df)
3
earningspersharebasic
4
2019 -0.19
5
2018 4.00
6
2017 0.21
7
2016 0.01
8
Or you can back filling missing values with select first column by DataFrame.iloc
with [[0]]
for one column DataFrame from first column:
JavaScript
1
2
1
df = df.bfill(axis=1).iloc[:, [0]]
2