社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Chris Larson

Chris Larson 最近创建的主题
Chris Larson 最近回复了
6 年前
回复了 Chris Larson 创建的主题 » 如何在python中获取此正则表达式[duplicate]

而这可以通过 re ,使用 datetime.strptime 在@liamhawkins的回答中[ https://stackoverflow.com/a/54600322/214150 ]如果你总是在处理格式化的日期,最好是这样。

此外,您还可以通过简单地使用 string method ( .split() )以及结果列表的基本切片。例如:

import re

word = 'Sat Apr 18 23:22:15 PDT 2009'

# Example using re.
rehour = re.findall('(\d+):\d+:\d+', word)
print('rehour:', *rehour)

# Example using string.split() and slicing.
somedate = word.split(' ')
somehour = somedate[3][:2]
print('somedate:', somedate)
print('somehour:', somehour)
6 年前
回复了 Chris Larson 创建的主题 » 在python中添加“每周一小时”列

假设您的示例中有日期格式,下面将从使用您的时间戳生成的DateTime对象生成一周中的小时:

from datetime import datetime

timestamp = '2/19/2019 17:33'
timestamp_object = datetime.strptime(timestamp, '%m/%d/%Y %H:%M')

hour_of_week = (timestamp_object.timetuple().tm_wday * 24 + 24) - (24 - timestamp_object.timetuple().tm_hour)

print('Hour of the week: {}'.format(hour_of_week))

输出:

 Hour of the week: 41

这将为您提供在上下文中应用所需的工具。像这样:

df['Date'] = df['Date'].apply(pd.to_datetime)

df['Hour of Week'] = ((df['Date'].dt.dayofweek) * 24 + 24) - (24 - df['Date'].dt.hour)
df['Day of Week'] = df['Date'].dt.dayofweek
df['Hour of Day'] = df['Date'].dt.hour
df = df[['Date', 'Day of Week', 'Hour of Day', 'Hour of Week', 'Price of X', 'Price of Y']]

请注意,如果您确实希望从1小时开始一天,而不是从零开始,则需要执行以下操作:

df['Hour of Week'] = ((df['Date'].dt.dayofweek) * 24 + 24) - (24 - df['Date'].dt.hour) + 1

df['Hour of Day'] = df['Date'].dt.hour + 1

以免混淆。

就像下面要抵消的第一天 1 :

df['Day of Week'] = df['Date'].dt.dayofweek + 1

只要记住 Hour of Day 价值 df['Date'].dt.hour 开始于 0 当你做比较的时候。因此,我建议使用 作为你的标准。同样适用于 Day of Week .

Hour of Week 开始于 ,您的数据帧如下所示:

                Date  Day of Week  Hour of Day  Hour of Week  Price of X  Price of Y
0 2011-01-01 00:30:00            5            0           120          19         172
1 2011-01-01 01:00:00            5            1           121          98         105
2 2011-01-01 01:30:00            5            1           121          40          -6
3 2011-01-01 02:00:00            5            2           122          68         120
4 2011-01-01 02:30:00            5            2           122          16         182
5 2011-01-01 03:00:00            5            3           123          23         187
6 2011-01-01 03:30:00            5            3           123          94         200
7 2019-02-18 00:01:00            0            0             0          23         187
8 2019-02-18 23:15:00            0           23            23          23         187
9 2019-02-24 23:59:00            6           23           167          23         187

天和小时增加1:

df['Hour of Week'] = ((df['Date'].dt.dayofweek) * 24 + 24) - (24 - df['Date'].dt.hour) + 1
df['Day of Week'] = df['Date'].dt.dayofweek + 1
df['Hour of Day'] = df['Date'].dt.hour + 1

你得到:

                 Date  Day of Week  Hour of Day  Hour of Week  Price of X  Price of Y
0 2011-01-01 00:30:00            6            1           121          19         172
1 2011-01-01 01:00:00            6            2           122          98         105
2 2011-01-01 01:30:00            6            2           122          40          -6
3 2011-01-01 02:00:00            6            3           123          68         120
4 2011-01-01 02:30:00            6            3           123          16         182
5 2011-01-01 03:00:00            6            4           124          23         187
6 2011-01-01 03:30:00            6            4           124          94         200
7 2019-02-18 00:01:00            1            1             1          23         187
8 2019-02-18 23:15:00            1           24            24          23         187
9 2019-02-24 23:59:00            7           24           168          23         187