嘿伙计们不确定我想做的事情是否可行,但我想根据字符串是否显示“完成”在数据框中创建一个新列。如果是,我希望新列行说 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')
汪汪一只猫
TA贡献1898条经验 获得超8个赞
可以应用 lambda
df['Lease'] = df['Transaction Types'].apply(lambda x: '1' if x == 'Matched Lease transaction' else '0')
精慕HU
TA贡献1845条经验 获得超8个赞
是的,您可以将值分配给如下列:
august_report['Lease'] = august_report['Transaction Types'].eq('Matched Lease transaction').astype(int)
可能是数字的0
and1
在这里更好(或者甚至False
and True
,通过删除.astype(int)
),因为这表明我们正在处理数字数据,而不是文本数据。
添加回答
举报
0/150
提交
取消