Pandas 如何基于另一个变量在dataframe中创建变量

Pandas 如何基于另一个变量在dataframe中创建变量,pandas,dataframe,Pandas,Dataframe,我有一个问题,我有一个数据框数据,有多个列,我想在数据框中创建一个变量过滤器,如果activation_date为null,则分配值1,否则为0 我已经写了这段代码,但是没有得到结果,不管日期是否仍然存在,一切都是0 data['filter'] = [0 if x is not None else 1 for x in data['activation_dt']] 我认为您需要检查None或NaNs,然后通过astype(int)将True转换为1,将False转换为0: data = pd

我有一个问题,我有一个数据框数据,有多个列,我想在数据框中创建一个变量过滤器,如果activation_date为null,则分配值1,否则为0

我已经写了这段代码,但是没有得到结果,不管日期是否仍然存在,一切都是0

data['filter'] = [0 if x is not None else 1 for x in data['activation_dt']]
我认为您需要检查
None
NaN
s,然后通过
astype(int)
True
转换为
1
,将
False
转换为
0

data = pd.DataFrame({'activation_dt':[None, np.nan, 1]})
print (data)
   activation_dt
0            NaN
1            NaN
2            1.0

data['filter'] = data['activation_dt'].isnull().astype(int)
print (data)
   activation_dt  filter
0            NaN       1
1            NaN       1
2            1.0       0