Pandas-Фильтрация Значений None

Я использую Pandas для изучения некоторых наборов данных. У меня есть этот фрейм данных:

enter image description here

Я хочу исключить любую строку, которая имеет значение город. Поэтому я попробовал:

new_df = all_df[(all_df["City"] == "None") ]
new_df

но затем я получил пустой фрейм данных:

enter image description here

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

3 ответов


рассмотрите возможность использования isnull(), чтобы найти недостающие значения

all_df[all_df['City'].isnull()]

попробуйте это, чтобы выбрать только None значения для столбца City:

new_df = all_df['City'][all_df['City'] == "None"]

попробуйте это, чтобы увидеть все другие столбцы, которые имеют те же строки 'City'==None

new_df = all_df[all_df['City'] == "None"]
print(new_df.head()) # with function head() you can see the first 5 rows

Я надеюсь,"where" может делать то, что вы ожидаете

new_df = new_df.where(new_df["city"], None) 

и лучше использовать np.nan, а не None.

для более подробной информации панды.Фрейм данных.где