gpt4 book ai didi

python - 从列表中检测列中的特定字符串序列

转载 作者:太空宇宙 更新时间:2023-11-03 12:43:30 25 4
gpt4 key购买 nike

我正在尝试使用列表提取特定字符串。这在 Python 中可行吗?

我这里有这个列表:

currency = ['SGD', 'GBP', 'USD', 'EUR']

如果这些字符串中的任何一个出现在列中,我希望使用相应的货币创建一个新列。这是我的预期输出:

预期输出

Name         Currency        Currency_updated    
0 Tom RANDOM_SGD_2017 SGD
1 nick TEST_EUR_1381 EUR
2 krish FORFUN GBP GBP
3 jack NAs <blank>

可重现的例子

import pandas as pd 

data = {'Name':['Tom', 'nick', 'krish', 'jack'], 'Currency':['RANDOM_SGD_2017', 'TEST_EUR_1381', 'FORFUN GBP', 'NAs']}

df = pd.DataFrame(data)

使用的数据框

     Name       Currency
0 Tom RANDOM_SGD_2017
1 nick TEST_EUR_1381
2 krish FORFUN GBP
3 jack NAs

最佳答案

使用Series.str.extract使用 join| 用于正则表达式 OR - 'SGD|GBP|USD|EUR' 表示 ' SGD”或“GBP”或“USD”或“EUR”

pat = '|'.join(currency)
df['Currency_updated'] = df['Currency'].str.extract('('+ pat + ')', expand=False)
print (df)
Name Currency Currency_updated
0 Tom RANDOM_SGD_2017 SGD
1 nick TEST_EUR_1381 EUR
2 krish FORFUN GBP GBP
3 jack NAs NaN

关于python - 从列表中检测列中的特定字符串序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55274872/

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