将一列转换为另一列上的条件列

2024-04-28 19:30:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,看起来像:

Age     Age Type
12       Years
5        Days
13       Hours
20       Months
...      ......

我希望我的年龄列以年为单位……因此,根据年龄类型,如果是以天、小时或月为单位,我必须执行标量操作。我试图实现for循环,但不确定是否正确。谢谢


Tags: 数据类型foragetype单位days标量
1条回答
网友
1楼 · 发布于 2024-04-28 19:30:55

创建映射dict

d={'Years':1,'Days':1/365,'Hours':1/364/24,'Months':1/12}
df.Age*df.AgeType.map(d)
Out[373]: 
0    12.000000
1     0.013699
2     0.001488
3     1.666667
dtype: float64

相关问题 更多 >