在数据框过滤器中包含 None
Including None in dataframe filter
我有一个名为 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 以及如何将其包含到过滤器中。
在过滤器中传递 None 时排除 ''
filter1 = [2,8,None]
如果您想包含任何空值:
filter = df['col2'].isin([2,8]) | df['col2'].isnull()
df_filtered = df.loc[filter]
我有一个名为 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 以及如何将其包含到过滤器中。
在过滤器中传递 None 时排除 ''
filter1 = [2,8,None]
如果您想包含任何空值:
filter = df['col2'].isin([2,8]) | df['col2'].isnull()
df_filtered = df.loc[filter]