Обработка пустых данных - PullRequest
0 голосов
/ 10 июля 2019

Когда столбец данных пуст, назначьте его другому столбцу

ниже моего фрейма данных:

   aaa  ccc
0  4.0    3
1  NaN    2
2  NaN    3
3  1.0    2

я ожидаю, что датафрейм:

   aaa  ccc
0    4    3
1    2    2
2    3    3
3    1    2

Заранее спасибо

Ответы [ 4 ]

4 голосов
/ 10 июля 2019

Использование pandas.DataFrame.bfill с axis=1:

df.bfill(1)

Выход:

   aaa  ccc
0  4.0  3.0
1  2.0  2.0
2  3.0  3.0
3  1.0  2.0
2 голосов
/ 10 июля 2019

pandas.DataFrame.fillna

Может принимать словарь, который определяет, чем заполнять каждый столбец.downcast='infer' при необходимости прекратит приведение числовых значений.

df.fillna({'aaa': df.ccc}, downcast='infer')

   aaa  ccc
0    4    3
1    2    2
2    3    3
3    1    2
0 голосов
/ 10 июля 2019

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

import numpy as np    
df['aaa'] = df['aaa'].replace(np.nan, df['ccc'])
0 голосов
/ 10 июля 2019

используйте np.where, чтобы заполнить nan

import numpy as np
df['aaa'] = np.where(df['aaa'].isnull(),df['ccc'],df['aaa'])

Я надеюсь, что это решит вашу проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...