gpt4 book ai didi

python - 使用给定的时间增量对时间序列进行重采样

转载 作者:行者123 更新时间:2023-12-01 03:40:40 26 4
gpt4 key购买 nike

我正在使用 Pandas 来构建和处理数据。这是我的数据框:

enter image description here

我想要对时间序列数据进行重新采样,并为每个 ID(此处命名为“3”)提供从开始到结束(beginning_time/end_time)的所有比特率分数。例如,对于第一行,我希望拥有从 2016-07-08 02:17:42 到 2016-07-08 02:17:55 的所有秒数,具有相同的比特率分数,当然还有相同的 ID 。像这样的事情:

例如,给定:

df = pd.DataFrame(
{'Id' : ['CODI126640013.ts', 'CODI126622312.ts'],
'beginning_time':['2016-07-08 02:17:42', '2016-07-08 02:05:35'],
'end_time' :['2016-07-08 02:17:55', '2016-07-08 02:26:11'],
'bitrate': ['3750000', '3750000']})

给出:

enter image description here

我想要第一行:

enter image description here

第二行也是同样的事情..所以目标是对开始时间和结束时间之间的deltaTime进行重新采样,当然码率分数必须相同。

我正在尝试这段代码:

df['new_beginning_time'] = pd.to_datetime(df['beginning_time'])
df.set_index('new_beginning_time').groupby('Id', group_keys=False).apply(lambda df: df.resample('S').ffill()).reset_index()

但在这种情况下,它不起作用!有任何想法吗 ?非常感谢!

最佳答案

您可以使用meltresample - 0.18.1 version of pandas :

df.beginning_time = pd.to_datetime(df.beginning_time)
df.end_time = pd.to_datetime(df.end_time)
df = pd.melt(df, id_vars=['Id','bitrate'], value_name='dates').drop('variable', axis=1)
df.set_index('dates', inplace=True)
print(df)
Id bitrate
dates
2016-07-08 02:17:42 CODI126640013.ts 3750000
2016-07-08 02:05:35 CODI126622312.ts 3750000
2016-07-08 02:17:55 CODI126640013.ts 3750000
2016-07-08 02:26:11 CODI126622312.ts 3750000

print (df.groupby('Id').resample('1S').ffill())
Id bitrate
Id dates
CODI126622312.ts 2016-07-08 02:05:35 CODI126622312.ts 3750000
2016-07-08 02:05:36 CODI126622312.ts 3750000
2016-07-08 02:05:37 CODI126622312.ts 3750000
2016-07-08 02:05:38 CODI126622312.ts 3750000
2016-07-08 02:05:39 CODI126622312.ts 3750000
2016-07-08 02:05:40 CODI126622312.ts 3750000
2016-07-08 02:05:41 CODI126622312.ts 3750000
2016-07-08 02:05:42 CODI126622312.ts 3750000
2016-07-08 02:05:43 CODI126622312.ts 3750000
2016-07-08 02:05:44 CODI126622312.ts 3750000
2016-07-08 02:05:45 CODI126622312.ts 3750000
2016-07-08 02:05:46 CODI126622312.ts 3750000
2016-07-08 02:05:47 CODI126622312.ts 3750000
...
...

关于python - 使用给定的时间增量对时间序列进行重采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39691671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com