1、通过np方式的条件函数运算
df[‘x2’] = np.where(df[‘name’] == ‘’, 0, df[‘amount’])
df[‘x3’] = df[‘amount’].where(df[‘name’] != ‘’, 0)
2、通过apply+lambda方式的条件函数运算,进行条件表示的时候要标记 loc!
cellparam.loc[cellparam.lc_name.isnull()==False,‘p2od’]=cellparam[cellparam.lc_name.isnull()==False][[‘prelon’,‘prelat’,‘lon’,‘lat’]].apply(lambda x:Get_distance(x.prelat,x.prelon,x.lat,x.lon),axis=1)
df['x4'] = df['amount']
df.loc[df['name'] == '', 'x4'] = 0
3、通过apply+函数方式
def multiple_columns(row):
out = {}
out['double_amount'] = row['amount'] * 2
out['empty_name'] = not row['name']
return pd.Series(out)
df[['double_amount', 'empty_name']] = df.apply(multiple_columns, axis=1)