根据具有三个选项的其他列值更改pandas数据帧列值



我有一个Pandas数据帧,其中有一列名为col1,我想在数据帧中添加一个新列,该值取决于每条记录的col1的内容。我试过这个:

d['new_column'] = 'CASE 1' if d['COL1'] == None else 'CASE 2' if d['COL1'] == 0 else 'CASE 3'

但我得到了这个错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

如何进行评估以正确设置新列的值?

尝试使用np.where。在这种情况下,它既高效又易于使用:

import numpy as np
df['new_column'] = np.where(d['COL1'].isnull(), 'CASE1',
np.where(d['COL1']==0, 'CASE 2', 'CASE 3'))

最新更新