首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫: excel days360当量

熊猫: excel days360当量
EN

Stack Overflow用户
提问于 2018-08-14 01:47:38
回答 1查看 1.8K关注 0票数 1

我正在将一些excel模型转换为python,其中一些计算使用的是excel中的days360函数,该函数根据360天的年份计算两天之间的天数。

我一直在查看pandas.tseries.offsets,我没有看到任何东西。

例如,在excel中,

代码语言:javascript
复制
d1 = 2/2/2015
d2 = 1/1/2018

=days(d1, d2) # 1064
=days360(d1, d2) # 1049
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-14 02:06:19

Reddit线程 on days360 for Pandas -下面是发布在那里的函数(似乎可以用于示例输入):

代码语言:javascript
复制
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数据的测试:

代码语言:javascript
复制
d1 = pd.to_datetime("2/2/2015")
d2 = pd.to_datetime("1/1/2018")

days360(d1, d2) # 1049
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51832672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档