转换以另一列为条件的列

时间:2018-08-08 19:26:09

标签: python pandas

我有一个看起来像这样的数据框:

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

我想在“年”中显示“年龄”列...因此,根据“年龄类型”,如果是“天”,“小时”或“月”,则必须执行标量运算。我试图实现一个for循环,但不确定是否要正确处理。谢谢!

1 个答案:

答案 0 :(得分:3)

创建地图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