我正在将一些excel模型转换为python,其中一些计算使用的是excel中的days360函数,该函数根据360天的年份计算两天之间的天数。
我一直在查看pandas.tseries.offsets,我没有看到任何东西。
例如,在excel中,
d1 = 2/2/2015
d2 = 1/1/2018
=days(d1, d2) # 1064
=days360(d1, d2) # 1049发布于 2018-08-14 02:06:19
Reddit线程 on days360 for Pandas -下面是发布在那里的函数(似乎可以用于示例输入):
def days360(start_date, end_date, method_eu=False):
start_day = start_date.day
start_month = start_date.month
start_year = start_date.year
end_day = end_date.day
end_month = end_date.month
end_year = end_date.year
if (
start_day == 31 or
(
method_eu is False and
start_month == 2 and (
start_day == 29 or (
start_day == 28 and
start_date.is_leap_year is False
)
)
)
):
start_day = 30
if end_day == 31:
if method_eu is False and start_day != 30:
end_day = 1
if end_month == 12:
end_year += 1
end_month = 1
else:
end_month += 1
else:
end_day = 30
return (
end_day + end_month * 30 + end_year * 360 -
start_day - start_month * 30 - start_year * 360)对OP数据的测试:
d1 = pd.to_datetime("2/2/2015")
d2 = pd.to_datetime("1/1/2018")
days360(d1, d2) # 1049https://stackoverflow.com/questions/51832672
复制相似问题