为了账号安全,请及时绑定邮箱和手机立即绑定

pandas 添加列,注意 Series 的真值不明确

pandas 添加列,注意 Series 的真值不明确

呼如林 2021-07-02 14:00:58
我想在数据框 a 中添加一列,a = pd.DataFrame([[1,2],[3,4]],columns=['A','B'])if a['B'] > a['A']:    a['C']='是'else:    a['C']='否'ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
查看完整描述

3 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

使用numpy.where:


#swapped 2,1

a = pd.DataFrame([[2,1],[3,4]],columns=['A','B'])

a['C'] = np.where(a['B']>a['A'], '是','否')

print (a)

   A  B  C

0  2  1  否

1  3  4  是

您的代码问题是如果使用:


print (a['B']>a['A'])

0    False

1     True

dtype: bool

它返回布尔掩码并且if无法决定要做什么。


查看完整回答
反对 回复 2021-07-13
?
MYYA

TA贡献1868条经验 获得超4个赞

还有一个选项是

np.choose()

其中实施

np.choose('是','否')


查看完整回答
反对 回复 2021-07-13
  • 3 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号