Замена пустых ячеек в столбце значением переменной - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь заменить ячейки emtpy столбца с именем 'City' на наиболее распространенное значение в том же столбце с помощью библиотеки python (я думаю) с именем pandas.

(работа с CSV-файлом здесь)

Это то, что я пробовал, предположим, что файл прочитан и готов к редактированию:

location = df['City'].mode()
basicdf = "df['City'].replace('',"+location+", inplace=True)"
basicdf

, поэтому лог c здесь нужно было использовать .mode, который дает наиболее частое значение в строке, и преобразовать это значение в переменную 'location'

, а затем добавить эту переменную во вторую строку кода. (Я вообще не знаю, как сделать все это правильно.)

вторая строка кода, казалось, была единственным способом добавить любую переменную, которую я желаю, в эту команду .replace.

Редактировать: вместо этого попробовал этот код, в конечном итоге он также записывается в других столбцах, кроме «Город», что не так уж и хорошо.

df['City'].replace('',np.nan,inplace=True)
df = df.fillna(df['City'].value_counts().index[0])

Буду признателен за любые советы, в основном, как добиться того, пытается сделать (хотя не нужно перезапускать с нуля, потому что у меня есть много другого кода в файле с использованием библиотеки pandas) и как вставить переменные в эти команды pandas (если это возможно).

1 Ответ

0 голосов
/ 09 марта 2020

Найден ответ, в основном благодаря Pygirl,

df['City'].replace('',np.nan,inplace=True)
df['City'].fillna(df['City'].value_counts().index[0], inplace=True)

они сначала заменят пустые или пустые ячейки на NaN, а затем «заполняют» NaN наиболее распространенным значением в выбранном столбце, в данном случае: «Город».

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