Включение "Нет" в фильтр фрейма данных - PullRequest
1 голос
/ 03 августа 2020

У меня есть фрейм данных с именем df:

     col1    col2
      1       2
      3       3
      7       8
      5       2
     12       8
      5       None

Я хочу использовать pandas .series.isin для фильтрации фрейма данных, где я хочу фильтровать данные из df, где col2 включает только число 2,8 и None, поэтому новый фрейм данных:

     col1    col2
      1       2
      7       8
      5       2
     12       8
      5       None

Я пробовал:

filter1 = [2,8,'None']
filter2 = [2,8,np.nan]
filter3 = [2,8,'']

df.col2.isin(filter1)
df.col2.isin(filter2)
df.col2.isin(filter3)

И результат всегда:

     col1    col2
      1       2
      7       8
      5       2
     12       8

кажется, я не могу определить, что такое None и как включить его в фильтр.

Ответы [ 2 ]

3 голосов
/ 03 августа 2020

, если вы хотите включить любое нулевое значение:

filter = df['col2'].isin([2,8]) | df['col2'].isnull()
df_filtered = df.loc[filter]
2 голосов
/ 03 августа 2020

Исключить '' при передаче None в вашем фильтре

filter1 = [2,8,None]
...