下面是一个示例代码,演示如何按小时和最大日期筛选数据框的行:
import pandas as pd
# 创建示例数据框
data = {
'datetime': ['2021-01-01 08:00:00', '2021-01-01 09:00:00', '2021-01-01 10:00:00', '2021-01-02 08:00:00', '2021-01-02 09:00:00', '2021-01-02 10:00:00'],
'value': [10, 20, 30, 40, 50, 60]
}
df = pd.DataFrame(data)
# 将datetime列转换为datetime类型
df['datetime'] = pd.to_datetime(df['datetime'])
# 按小时和最大日期筛选行
max_date = df['datetime'].max() # 获取最大日期
hour = 9 # 选择9点钟的数据
filtered_df = df[(df['datetime'].dt.hour == hour) & (df['datetime'].dt.date == max_date.date())]
# 打印筛选后的数据框
print(filtered_df)
在上面的示例中,我们首先将日期时间列转换为datetime类型,以便能够使用datetime的属性和方法。然后,我们获取最大日期和指定的小时数。最后,我们使用df[(df['datetime'].dt.hour == hour) & (df['datetime'].dt.date == max_date.date())]
这个条件,筛选出符合条件的行。
输出结果为:
datetime value
4 2021-01-02 09:00:00 50
上一篇:按小时和星期几分组绘制时间序列
下一篇:按小时获取唯一客户数量的SQL