数据帧上的布尔值

嘿伙计们不确定我想做的事情是否可行,但我想根据字符串是否显示“完成”在数据框中创建一个新列。如果是,我希望新列行说 1 如果不是 0。因为我有很多记录,所以我把它放在一个循环中。


august_report['Lease'] = np.nan

for x in august_report.iterrows():

    if august_report['Transaction Types'] =='Matched Lease transaction':

        august_report['Lease'] = '1'

    else:

        august_report['Lease'] = '0'


MM们
浏览 117回答 3
3回答

翻过高山走不出你

Numpy如果您有两个像您的示例一样的值(使用np.where),则提供了一种简单的方法来执行此操作。如果您有多个案例,请查看np.select.import numpy as npaugust_report['Lease'] = np.where(august_report['Transaction Types'] =='Matched Lease transaction', '1','0')

汪汪一只猫

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

精慕HU

是的,您可以将值分配给如下列:august_report['Lease'] = august_report['Transaction Types'].eq('Matched Lease transaction').astype(int)可能是数字的0and1在这里更好(或者甚至Falseand True,通过删除.astype(int)),因为这表明我们正在处理数字数据,而不是文本数据。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python