Pandas 如何基于另一个变量在dataframe中创建变量
我有一个问题,我有一个数据框数据,有多个列,我想在数据框中创建一个变量过滤器,如果activation_date为null,则分配值1,否则为0 我已经写了这段代码,但是没有得到结果,不管日期是否仍然存在,一切都是0Pandas 如何基于另一个变量在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
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