У меня есть данные boroughCounts
с этими значениями выборки:
From To Count
9 None Manhattan 302
10 Bronx Bronx 51
11 Bronx Manhattan 244
12 None Brooklyn 8
13 Bronx Queens 100
14 None None 67
Пытаться отфильтровать значения None
в столбцах "От" и "Кому", используя этот подход, как описано здесь или здесь:
boroughCounts = boroughCounts[(boroughCounts.From != None) & (boroughCounts.To != None)]
boroughCounts = boroughCounts[(boroughCounts["From"] != None) & (boroughCounts["To"] != None)]
Но это не работает, и все ценности остались такими, какие есть. Я использую это неправильно, или есть лучший способ сделать это?
Используйте это, потому что None - это строка, и вам нужно заменить эту строку на NaN:
df_out = boroughCounts.replace('None', np.nan).dropna()
df_out
Выход:
From To Count
10 Bronx Bronx 51
11 Bronx Manhattan 244
13 Bronx Queens 100
Или вы можете использовать логическое индексирование с помощью "Нет":
boroughCounts[(boroughCounts.From != "None") & (boroughCounts.To != "None")]
Осмотрите ваш блок данных, чтобы понять типы.
boroughCounts.dtypes
Это скажет вам, что он To и From cols является объектом типа. Это может означать, что это все строки или комбинация строк и типа "Нет". Осмотрите один из ваших Nones.
type(boroughCounts.iloc[15].From)
Это покажет вам, является ли столбец None в столбце From для строки 15 строкой. Если это так, вам нужно изменить свой запрос.