将基于多种条件的功能应用于“熊猫专栏”

时间:2019-08-12 18:54:10

标签: pandas

我需要应用一个函数,如果它们满足两个条件,该函数将减小列中的值,否则保持不变。 列 由于leap年,“天” = dt.dayofyear范围为1-366。
'年'= dt.year 然后是一堆其他的列。

我已经删除了leap日,并想减少leap年中发生的“天数”> 60中的值,在这种情况下,这些天数均除以4。我一直遇到语法错误,我是一个初学者。

我到处冲浪,为简单起见,我一直在尝试应用lambda函数。这是我正在尝试的简化版本:

#'Days' contains dt.daysofyear
#'Dates' contains dt.year
#Edited to fix missed quotations and add axis=1
temps['Days'] = temps.apply(lambda x : x['Days'] - 1 if ((x['Days'] > 60) and (x['Year']%4!=0)) else x['Days'], axis=1)

我修复了语法,现在只是不执行应有的操作,值不减

1 个答案:

答案 0 :(得分:0)

请注意,如果要使用apply遍历行,则需要使用axis=1