首页 > 解决方案 > 我必须从我的数据框的两列计算产量“taux_act”,如下所示:

问题描述

df['maturite'] = df["Date d'échéance"] - df['Date de la valeur']## df['maturite'] > .. ..days 

def taux_act(t,m):
    if m < timedelta(days =365):
        taux = ((1 + t * m)/360)**(365/m)-1
    else:
        taux = t

df['taux'] = taux_act(df['Taux moyen pondéré'],df['maturite'])

我收到了这个错误:

TypeError:dtype=timedelta64[ns] 和 int 之间的比较无效

标签: python

解决方案


您可以将函数中 m 的数据类型转换为 timedelta64[ns],如下所示。

df['maturite'] = df["Date d'échéance"].astype('timedelta64[D]')- df['Date de la valeur'].astype('timedelta64[D]')

推荐阅读