以下是一个示例代码,可以按时间间隔分组,并获取满足条件的每组的第一行。
import pandas as pd
# 创建示例数据
data = {
'时间': ['2020-01-01 09:00:00', '2020-01-01 09:10:00', '2020-01-01 09:20:00', '2020-01-01 09:30:00',
'2020-01-01 09:40:00', '2020-01-01 09:50:00', '2020-01-01 10:00:00', '2020-01-01 10:10:00'],
'数值': [1, 2, 3, 4, 5, 6, 7, 8]
}
df = pd.DataFrame(data)
# 将时间列转换为日期时间类型
df['时间'] = pd.to_datetime(df['时间'])
# 按时间间隔分组并获取每组的第一行
grouped = df.groupby(pd.Grouper(key='时间', freq='20min'))
first_rows = grouped.first()
# 根据条件获取满足条件的每组的第一行
condition = first_rows['数值'] > 3
filtered_rows = first_rows[condition]
print(filtered_rows)
该示例首先创建了一个包含时间和数值的DataFrame。然后,将时间列转换为日期时间类型,以便能够进行时间操作。接下来,使用groupby()
函数按照20分钟的时间间隔分组,并使用first()
函数获取每组的第一行。最后,可以根据需要设置条件,筛选满足条件的每组的第一行。在示例中,条件为数值大于3的行被筛选出来,并打印输出。
下一篇:按时间间隔分组并计数