Home > OS >  How do I append an uneven column to an existing one?
How do I append an uneven column to an existing one?

Time:07-19

I am having trouble appending later values from column C to column A within the same df using pandas. I have tried .append and .concat with ignore_index=True, still not working.

import pandas as pd

d = {'a':[1,2,3,None, None], 'b':[7,8,9, None, None], 'c':[None, None, None, 5, 6]}
df = pd.DataFrame(d)

df['a'] = df['a'].append(df['c'], ignore_index=True)

print(df)

     a    b    c
0  1.0  7.0  NaN
1  2.0  8.0  NaN
2  3.0  9.0  NaN
3  NaN  NaN  5.0
4  NaN  NaN  6.0

Desired:

     a    b    c
0  1.0  7.0  NaN
1  2.0  8.0  NaN
2  3.0  9.0  NaN
3  5.0  NaN  5.0
4  6.0  NaN  6.0

CodePudding user response:

Thank you for updating that, this is what I would do:

df['a'] = df['a'].fillna(df['c'])
print(df)

Output:

     a    b    c
0  1.0  7.0  NaN
1  2.0  8.0  NaN
2  3.0  9.0  NaN
3  5.0  NaN  5.0
4  6.0  NaN  6.0
  • Related