我试图编写一个函数来检查数据帧中列的值是否等于一个值,然后返回该行的工资列,否则返回 np.na 但我不断收到以下错误: 序列的真值是不明确的。使用a.empty
、a.bool()
、a.item()
、a.any()
或a.all()
。
这是我的代码:
def hourly_wage_worker(row):
""" return np.nan if a row is not unionized and hourly wage if unionized"""
if row['union'] == 'Union':
return row['wage']
else:
return np.nan
假设你正在使用熊猫,
尝试一般示例
df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])
df['c'] = np.where(df['A']==0, df['B'], np.nan)
您的案例
df['newcolumn'] = np.where(df['union']=='Union', df['wage'], np.nan)