У меня есть Pandas Dataframe, как показано ниже:
1 2 3
0 a NaN read
1 b l unread
2 c NaN read
Я хочу удалить значения NaN с пустой строкой, чтобы это выглядело так:
1 2 3
0 a "" read
1 b l unread
2 c "" read
np.nan
? Я не могу использовать этоimport numpy as np
.pd.np.nan
если вы этого не хотитеimport numpy
.pd.DataFrame.from_dict(eval(_string_))
... inplace=True
опцию.или просто
Это заполнит Na (например, NaN) с
''
.Если вы хотите заполнить один столбец, вы можете использовать:
Можно использовать
df['column1']
вместоdf.column1
.источник
df[['column1','column2']] = df[['column1','column2']].fillna('')
Если вы читаете фрейм данных из файла (например, CSV или Excel), используйте:
df.read_csv(path , na_filter=False)
df.read_excel(path , na_filter=False)
Это будет автоматически рассматривать пустые поля как пустые строки
''
Если у вас уже есть датафрейм
df = df.replace(np.nan, '', regex=True)
df = df.fillna('')
источник
xl.parse('sheet_name', na_filter=False)
Используйте форматтер, если вы хотите отформатировать его так, чтобы он хорошо отображался при печати . Просто используйте
df.to_string(... formatters
для определения пользовательского форматирования строки, без необходимости изменять ваш DataFrame или тратить память:Получить:
источник
print df.fillna('')
сам по себе (без выполненияdf = df.fillna('')
) также не изменяет оригинал. Есть ли скорость или другие преимущества в использованииto_string
?df.fillna('')
это так!Попробуй это,
Добавить
inplace=True
источник
Использование
keep_default_na=False
должно помочь вам:источник
Если вы конвертируете DataFrame в JSON, выдает
NaN
ошибку, поэтому лучшим решением в этом случае является заменаNaN
наNone
.Вот как:
источник
Я попытался с одним столбцом строковых значений с нан.
Чтобы удалить нан и заполнить пустую строку:
df.columnname.replace(np.nan,'',regex = True)
Чтобы удалить нан и заполнить некоторые значения:
df.columnname.replace(np.nan,'value',regex = True)
Я тоже попробовал df.iloc. но для этого нужен индекс столбца. поэтому вам нужно снова заглянуть в таблицу. просто вышеупомянутый метод сокращен на один шаг.
источник