基于predi向新列添加值

2024-09-27 23:25:39 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个数据框架,其中有一群人和公司,他们隶属于:

Id|Name  |Company        
1 |Hanzo |Bank of America
2 |Bertha|Disney         
3 |Bob   |Swiss Bank   

现在我想添加一个新的列,其类型为company,它们属于:

Id|Name  |Company        |Type
1 |Hanzo |Bank of America|Bank
2 |Bertha|Disney         |Entertainment
3 |Bob   |Swiss Bank     |Bank

如何遍历数据框,过滤公司列并将值提取到新列中?大概是这样的:

for i in range(len(dataset)):
    if dataset[['Company'].str.contains('BANK')][i]:
        dataset['Type'] = 'Bank'
    else:
        dataset['Type'] = 'Unknown'

Tags: of数据nameidtype公司datasetcompany
1条回答
网友
1楼 · 发布于 2024-09-27 23:25:39

如果需要处理2个或更多条件,请使用^{}

#mask for Entertainment type
ent_companies = ['Disney', ...]
mask1 = dataset['Company'].isin(ent_companies)
#mask for Bank type
mask2 = dataset['Company'].str.contains('BANK', case=False)
dataset['type'] = np.select([mask1, mask2], ['Entertainment', 'Bank'],default='Unknown')

对于过程,只有一个更好的条件是^{}

dataset['type'] = np.where(mask1, 'Bank', 'No bank')

相关问题 更多 >

    热门问题