如何在 pandas 中应用多个条件? 例如我有这个数据框
Country VAT
RO RO1449488
RO RO1449489
RO RO1449486
MD 2980409450027
例如,对于具有 RO 的国家/地区,我希望从 VAT 中删除“RO”并仅保留数字。 或者例如,如果国家不是 RO 并且让(VAT)为 13,则在 VAT 前面添加“03”
输出要像
Country VAT
RO 1449488
RO 1449489
RO 1449486
MD 032980409450027
我知道如何使用 openpyxl 执行此操作,但 pandas 对我来说是新手,我发现 pandas 语法更难理解。
最佳答案
您可以将 bool 选择与 numpy.select
一起使用:
import numpy as np
# condition1 condition2
df['VAT'] = np.select([df['Country'].eq('RO'), df['VAT'].str.len().eq(13)],
# replacement1
[df['VAT'].str.replace('^RO', '', regex=True),
'03'+df['VAT']], # replacement2
df['VAT'] # default
)
输出:
Country VAT
0 RO 1449488
1 RO 1449489
2 RO 1449486
3 MD 032980409450027
关于python - 如何使用 Python 在 Pandas 中应用多个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71479265/