如何解决现在从没有星期六和星期日的数据框列中减去日期时间
目前我的脚本正在用我在名为“创建”的数据帧列中的时间减去我的当前时间,生成一个包含差异天数的新列。我用这个代码得到了不同的日子:
df['Creation']= pandas.to_datetime(df["Creation"],dayfirst="True")
#Generates new column with the days.
df['Difference'] = df.to_datetime('now') - df['Creation']
我现在想要的是它给我像他给我的日子,但不要计算周六和周日。我该怎么做?
解决方法
你可以使用import pygame
import sys
pygame.mixer.pre_init(44100,16,2,4096)
pygame.init()
pygame.display.set_mode()
soundC4 = pygame.mixer.Sound("scale_marimba/Marimba_C4.wav")
while True:
for event in pygame.event.get():
if event.type == pygame.K_1:
pygame.quit()
sys.exit()
break
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_o:
empty_channel = pygame.mixer.find_channel()
empty_channel.play(soundC4)
的{{3}},例如:
numpy
如果您需要输出为 dtype import pandas as pd
import numpy as np
# some dummy data
df = pd.DataFrame({'Creation': ['2021-03-29','2021-03-30']})
# make sure we have datetime
df['Creation'] = pd.to_datetime(df['Creation'])
# set now to a fixed date
now = pd.Timestamp('2021-04-05')
# difference in business days,excluding weekends
# need to cast to datetime64[D] dtype so that np.busday_count works
df['busday_diff'] = np.busday_count(df['Creation'].values.astype('datetime64[D]'),np.repeat(now,df['Creation'].size).astype('datetime64[D]'))
df['busday_diff'] # since I didn't define holidays,potential Easter holiday is excluded:
0 5
1 4
Name: busday_diff,dtype: int64
,您可以通过
timedelta
注意: df['busday_diff'] = pd.to_timedelta(df['busday_diff'],unit='d')
df['busday_diff']
0 5 days
1 4 days
Name: busday_diff,dtype: timedelta64[ns]
还允许您设置自定义周掩码(不包括星期六和星期日)或假期列表。请参阅我在顶部链接的文档。
相关: busday_count、Calculate difference between two dates excluding weekends in python?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。