gpt4 book ai didi

python - Pandas,根据产品分类确定利润率

转载 作者:行者123 更新时间:2023-11-30 22:03:43 29 4
gpt4 key购买 nike

我有一个包含几列的 df,索引是product_code,焦点列是NCM 代码

我想在此数据框中创建一个新列(称为“利润率”),用于根据其 NCM 代码确定给定产品代码的利润率

NCM 代码有 8 位数字...

当8位数字的第一个数字为3时,新创建的列将返回40%

当前 2 位数字为 45 时,新创建的列将返回 30%

当前 3 位数字为 565 时,新创建的列将返回 25%

当前 4 位数字为 1245 时,新创建的列将返回 20%

否则返回15%

考虑当前的简化 DF:

product_code   NCM code
AA 30000000
BB 45000000
CC 56500000
DD 12450000
EE 99999999

期望的结果:

product_code   NCM code    Profit Margin
AA 30000000 40%
BB 45000000 30%
CC 56500000 25%
DD 12450000 20%
EE 99999999 15%

我尝试编写自己的函数并应用于创建新列,但非常沮丧。

谢谢!

最佳答案

这很尴尬,但不可撤销:

import numpy as np
df['Profit Margin'] = np.where(df['NCM code'].str[0]=='8', 0.4,
np.where(df['NCM code'].str[:2]=='45', 0.3,
np.where(df['NCM code'].str[:3]=='565', 0.25,
np.where(df['NCM code'].str[:4]=='1245', 0.2, 0.15))))
# product_code NCM code Profit Margin
#0 AA 30000000 0.15
#1 BB 45000000 0.30
#2 CC 56500000 0.25
#3 DD 12450000 0.20
#4 EE 99999999 0.15

关于python - Pandas,根据产品分类确定利润率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53464120/

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