замените NAN или пустым на строку данных - PullRequest
0 голосов
/ 07 марта 2019

У меня есть фрейм данных панд. В одном из столбцов ('Q8') этого фрейма данных некоторые строки пусты. Я хотел бы заменить эти пустые ячейки строкой ('ss'). Я хочу сделать эту замену с условием. Это условие заключается в том, что если строка в столбце («Q7») имеет вид («Я студент»), а ячейка в этой строке в столбце («Q8») пуста, замените пустую ячейку столбца («Q8»). с 'ss'.

Это код, который я написал для него:

for xx in range(0,len(df['Q8'])):
    if df['Q8'][xx]==np.nan:
       if df['Q7'][xx]=='I am a student':
           df['Q8'][xx].replace('', 'ss', regex=True)

но он не может найти ни одного np.nan с первого раза, если !!

1 Ответ

3 голосов
/ 07 марта 2019

Вместо этого используйте маскировку:

df.loc[(df['Q7'] == 'I am a student') & (df['Q8'].isna()), 'Q8'] = 'ss'

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

df.loc[df['Q7'] == 'I am a student', 'Q8'] = df.loc[df['Q7'] == 'I am a student', 'Q8'].fillna('ss')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...