python заменить nan на ноль для определенных c строк - PullRequest
0 голосов
/ 11 апреля 2020

Привет, у меня есть такой фрейм данных, как показано ниже, просто хочу заменить nan на ноль с третьего ряда на шестой ряд. Есть ли простой метод для этой проблемы?

att1 att2 att3 
1 1 5.0
1 1 Nan
1 1 4.0
1 2 1.0
2 1 Nan
2 2 3.0
2 2 4.0

до

att1 att2 att3 
1 1 5.0
1 1 Nan
1 1 4.0
1 2 1.0
2 1 0
2 2 3.0
2 2 4.0

Ответы [ 2 ]

0 голосов
/ 11 апреля 2020

Для достижения sh вашей цели вы можете использовать метод pandas .fillna() и применить его к целевым строкам, используя аксессор .iloc(): df.iloc[3:7, :] = df.iloc[3:7, :].fillna(0) Обратите внимание, значение остановки аксессора ilo c ( т.е. 7, в данном случае) не является включающим. Ссылки на документацию: pandas fillna , pandas ilo c

0 голосов
/ 11 апреля 2020

Я полагаю, что DataFrame.fillna () сделает это за вас.

Ссылка на документы для кадра данных и для Series .

Пример:

In [7]: df
Out[7]: 
          0         1
0       NaN       NaN
1 -0.494375  0.570994
2       NaN       NaN

In [8]: df.fillna(0)
Out[8]: 
          0         1
0  0.000000  0.000000
1 -0.494375  0.570994
2  0.000000  0.000000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...