Pandas DatetimeIndex是否有类似days_in_month的seconds_in_month属性?
问题:如何按当月秒数对DataFrame做除法运算?
我原本用这段代码实现按当月天数对DataFrame的列做除法:
df.apply(lambda col: col / df.index.days_in_month)
现在想改成按当月秒数做同样的除法操作,尝试使用df.apply(lambda col: col / df.index.seconds_in_month)时,出现了属性错误:
AttributeError: 'DatetimeIndex' object has no attribute 'seconds_in_month'
解决方案
Pandas的DatetimeIndex并没有内置seconds_in_month属性,但可以通过已有的days_in_month计算得到当月总秒数——用当月天数乘以一天的秒数86400(1天=24×60×60=86400秒)。修改后的代码如下:
df.apply(lambda col: col / (df.index.days_in_month * 86400))
内容的提问来源于stack exchange,提问作者Yogi
相关产品推荐
相关产品推荐

