Python 使用熊猫中的时间间隔或阈值删除行
我是python的初学者 我有一个每秒出现一次的Python 使用熊猫中的时间间隔或阈值删除行,python,pandas,Python,Pandas,我是python的初学者 我有一个每秒出现一次的dataframe。我的数据是这样的 Time Id 0 9:00:00 A 1 9:00:30 B 2 9:00:50 C 3 9:01:03 D 4 9:01:25 E 5 9:02:04 F 基于这篇文章,我想按时间间隔或阈值(1分钟)删除行。但是,我有大量的行数据,无法使用URL答案。 我的预期结果如下所示 Time Id 0 9:00:00 A 1 9:01:03 D 2
dataframe
。我的数据是这样的
Time Id
0 9:00:00 A
1 9:00:30 B
2 9:00:50 C
3 9:01:03 D
4 9:01:25 E
5 9:02:04 F
基于这篇文章,我想按时间间隔或阈值(1分钟)删除行。但是,我有大量的行数据,无法使用URL答案。
我的预期结果如下所示
Time Id
0 9:00:00 A
1 9:01:03 D
2 9:02:04 F
使用
- -将参数转换为时间增量
- -Grouper允许用户为目标对象指定groupby指令
- -计算第一组值
- -重置索引或其级别
在“将索引转换为列”中或中需要参数
:作为\u index=False
df['Time'] = pd.to_timedelta(df['Time'])
df1 = df.groupby(pd.Grouper(freq='1 min', key='Time'))['Time','Id'].first().reset_index(drop=True)
print(df1)
或
O/p:
Time Id
0 09:00:00 A
1 09:01:03 D
2 09:02:04 F
最简单的方法是使用重采样
df.resample('1T')
我收到一条错误消息
仅对DatetimeIndex、TimedeltaIndex或PeriodIndex有效,但得到了一个“Index”实例谢谢您的回答,您是否介意查看我的更新问题。如果其他列数据和列名称仍然存在,是否可能?@Arief更新了答案,请立即尝试。谢谢,您太棒了。有没有办法保留其他列而不是写列名?例如,['Time','Id']
@Arief Groupby总是根据一些标准将数据分成组,在您的情况下,Groupby按1分钟创建组,如9:00,9:01
和9:02
,如果您试图在不写入列的情况下获取第一个组值['Time','Id']
,它将不会给出所需的输出。
df.resample('1T')