Создайте новый столбец и заполните NaN в python

#python #pandas #dataframe

#python #pandas #фрейм данных

Вопрос:

Привет, у меня есть фрейм данных, такой как

 COL1 COL2 COL3
NaN  A    3
B    NaN  78
C    C    668
D    D    56D
G    NaN  56
E    E    788
H    H    778 
  

И я хотел бы создать новое COL4 место, куда я помещаю COL1 COL2 содержимое, если оно есть NaN

например, для первой строки, которая находится NaN в COL1n, тогда COL4 будет принимать COL2 значение.

Затем я должен получить :

 COL1 COL2 COL3  COL4
NaN  A    3     A
B    NaN  78    B
C    C    668   C
D    D    56D   D
G    NaN  56    G
E    E    788   E
H    H    778   H
  

спасибо за вашу помощь и время

Комментарии:

1. Каким должен быть результат, если COL1 и COL2 имеют значения, отличные от NaN, но они разные?

2. этого не может произойти, потому что я сделал слияние между COL1 и COL2 с how='outer'

Ответ №1:

Вы можете использовать fillna :

 df["COL4"] = df["COL1"].fillna(df["COL2"])

print (df)

  COL1 COL2 COL3 COL4
0  NaN    A    3    A
1    B  NaN   78    B
2    C    C  668    C
3    D    D  56D    D
4    G  NaN   56    G
5    E    E  788    E
6    H    H  778    H