将您自己的函数传递到Pandas表



我需要向Pandas数据帧传递几个条件。我有一张桌子,上面放着汽车和它们的制造年份。例如:

Opel Corsa 2007
BMW X5 2017
Ford Mondeo 2015

根据当前年份(2022年(,我需要在每辆车上设置特定的标签。例如:如果一辆车的车龄为0到5年,则为a级。如果车龄在5到8年之间,则为B级。以此类推。

从我的角度来看,最简单的方法是创建一个函数来计算年份,然后将其实现到DataFrame。但这可能吗。如果我有一个名为grades的def,我可以将其实现到DataFrame吗?

尝试pd.cut

import numpy as np
from datetime import date

current_year = date.today().year
df['label'] = pd.cut(
(current_year - df['year']),
[0, 5, 8, np.inf],
labels=['Grade A', 'Grade B', 'other']
)
car  year    label
0   Opel Corsa  2007    other
1       BMW X5  2017  Grade A
2  Ford Mondeo  2015  Grade B

相关内容

最新更新