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

数据帧上的布尔值

数据帧上的布尔值

MM们 2022-06-02 11:23:26
嘿伙计们不确定我想做的事情是否可行,但我想根据字符串是否显示“完成”在数据框中创建一个新列。如果是,我希望新列行说 1 如果不是 0。因为我有很多记录,所以我把它放在一个循环中。august_report['Lease'] = np.nanfor x in august_report.iterrows():    if august_report['Transaction Types'] =='Matched Lease transaction':        august_report['Lease'] = '1'    else:        august_report['Lease'] = '0'
查看完整描述

3 回答

?
翻过高山走不出你

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

Numpy如果您有两个像您的示例一样的值(使用np.where),则提供了一种简单的方法来执行此操作。如果您有多个案例,请查看np.select.


import numpy as np

august_report['Lease'] = np.where(august_report['Transaction Types'] =='Matched Lease transaction', '1','0')


查看完整回答
反对 回复 2022-06-02
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

可以应用 lambda

df['Lease'] = df['Transaction Types'].apply(lambda x: '1' if x == 'Matched Lease transaction' else '0')


查看完整回答
反对 回复 2022-06-02
?
精慕HU

TA贡献1845条经验 获得超8个赞

是的,您可以将值分配给如下列:

august_report['Lease'] = august_report['Transaction Types'].eq('Matched Lease transaction').astype(int)

可能是数字的0and1在这里更好(或者甚至Falseand True,通过删除.astype(int)),因为这表明我们正在处理数字数据,而不是文本数据。


查看完整回答
反对 回复 2022-06-02
  • 3 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信