gpt4 book ai didi

python - 根据谓词将值添加到新列

转载 作者:行者123 更新时间:2023-12-01 02:30:29 25 4
gpt4 key购买 nike

假设我有一个包含一群人和公司的数据框,他们隶属于:

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

现在我想添加一个新列,其中包含公司类型,它们属于:

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'

最佳答案

使用numpy.select如果需要处理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')

对于流程第一个条件来说,更好的条件是 numpy.where :

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

关于python - 根据谓词将值添加到新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46876324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com