如何解决如何使用python计算工作日数
year month ETP
0 2021 1 49.21
1 2021 2 34.20
2 2021 3 31.27
3 2021 4 29.18
4 2021 5 33.25
5 2021 6 24.70
我想添加一列,为我提供每行的工作日数,不包括假期和周末(对于特定国家/地区,exp:法国或美国)
所以输出将是:
year month ETP work_day
0 2021 1 49.21 20
1 2021 2 34.20 20
2 2021 3 31.27 21
3 2021 4 29.18 19
4 2021 5 33.25 20
5 2021 6 24.70 19
代码:
import numpy as np
import pandas as pd
days = np.busday_count( '2021-01','2021-06' )
df.insert(3,"work_day",[days])
我收到了这个错误:
ValueError: Length of values does not match length of index
有什么建议吗?
感谢您的帮助
解决方法
假设您是输入工作日的人,我想您可以这样做:
data = {'year': [2020,2020,2021,2023,2022],'month': [1,2,3,4,6]}
df = pd.DataFrame(data)
df.insert(2,"work_day",[20,20,23,21,22])
其中 2
是新列的位置,而不仅仅是在末尾,work_day
是名称,列表中的每一行都有值。
编辑:使用 NumPy
import numpy as np
import pandas as pd
days = np.busday_count( '2021-02','2021-03' )
data = {'year': [2021],'month': ['february']}
df = pd.DataFrame(data)
df.insert(2,[days])
使用 busday_count
指定要查看工作日的开始和结束日期。
结果:
year month work_day
0 2021 february 20
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。