Можно ли прочитать значение из альтернативного столбца в файле CSV для значений NaN в основном столбце? - PullRequest
1 голос
/ 08 мая 2020

Предположим, у меня есть файл CSV с двумя столбцами, как показано ниже:

A    B  
1.4  2.4  
3.5  6.2
NaN  4.5  
NaN  2.1

A - это основной столбец, который я буду использовать в своем анализе, читая его таким образом

data = pd.read_csv('dat120.csv')
points = data['A']

Но, к сожалению, в некоторых случаях значение A равно NaN, как показано выше. Здесь я хочу прочитать соответствующие значения в столбце B вместо A, если A - NaN. Возможно ли это?

1 Ответ

1 голос
/ 08 мая 2020

Если хотите заменить NaN s на следующие столбцы, используйте обратное заполнение пропущенных значений для каждой строки:

df = data.bfill(axis=1)

При необходимости замените отсутствующие значения в A на не пропущенные значения B используйте Series.fillna:

data['A'] = data['A'].fillna(data['B'])

Возможна разница, посмотрите, есть ли еще столбцы:

print (data)
     A    B    C
0  1.4  2.4  NaN
1  3.5  6.2  5.0
2  NaN  4.5  2.0
3  NaN  2.1  NaN
4  NaN  NaN  NaN
5  NaN  NaN  4.1

df = data.bfill(axis=1)
print (df)
     A    B    C
0  1.4  2.4  NaN
1  3.5  6.2  5.0
2  4.5  4.5  2.0
3  2.1  2.1  NaN
4  NaN  NaN  NaN
5  4.1  4.1  4.1

data['A'] = data['A'].fillna(data['B'])
print (data)
     A    B    C
0  1.4  2.4  NaN
1  3.5  6.2  5.0
2  4.5  4.5  2.0
3  2.1  2.1  NaN
4  NaN  NaN  NaN
5  NaN  NaN  4.1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...