Python 3.x 在一个数据帧中对多个时间序列进行上采样
在csv中获得这样的数据Python 3.x 在一个数据帧中对多个时间序列进行上采样,python-3.x,pandas,datetime,Python 3.x,Pandas,Datetime,在csv中获得这样的数据 id,date,price A,2020-05-04 15:00:00,1.2 B,2020-05-04 15:05:00,1.3 A,2020-05-04 16:07:00,1.4 B,2020-05-04 16:07:00,1.5 所以在同一数据帧中,a和B分别有一个时间序列。 我创建了dataframe并放置了类似df的索引。set_索引([“id”,“date”]) 现在我想将采样增加到分钟,这样结果对应于如下所示的csv: id,date,price A,2
id,date,price
A,2020-05-04 15:00:00,1.2
B,2020-05-04 15:05:00,1.3
A,2020-05-04 16:07:00,1.4
B,2020-05-04 16:07:00,1.5
所以在同一数据帧中,a和B分别有一个时间序列。
我创建了dataframe并放置了类似df的索引。set_索引([“id”,“date”])
现在我想将采样增加到分钟,这样结果对应于如下所示的csv:
id,date,price
A,2020-05-04 15:00:00,1.2
A,2020-05-04 15:01:00,1.2
...
A,2020-05-04 16:06:00,1.2
A,2020-05-04 16:07:00,1.4
B,2020-05-04 15:05:00,1.3
B,2020-05-04 15:06:00,1.3
...
B,2020-05-04 16:06:00,1.3
B,2020-05-04 16:07:00,1.5
但是不要让那df.resample(“60S”,level=“date”).pad()
事情继续进行,得到的错误是我只能将它用于“Datetimeindex,但它是多索引”,当省略级别并将级别设置为“不支持从级别=或打开=选择的上采样”时,使用.set\u index显式地将索引设置为datetime,如“error…”
我觉得必须有一个简单的解决方案…?在一个数据集中有一个系列的多个实例是很常见的吗?
当然,我可以拆分数据帧,然后再合并。。。
还有一些帖子使用了grouper,但对我来说,这听起来太复杂了,对它来说,级别参数必须是某种解决方案…创建
DatetimeIndex
并使用链接:
仅用于处理price
列,请使用:
df1 = df.set_index("date").groupby('id')['price'].resample("60S").pad().reset_index()
print (df1)
id date price
0 A 2020-05-04 15:00:00 1.2
1 A 2020-05-04 15:01:00 1.2
2 A 2020-05-04 15:02:00 1.2
3 A 2020-05-04 15:03:00 1.2
4 A 2020-05-04 15:04:00 1.2
.. .. ... ...
126 B 2020-05-04 16:03:00 1.3
127 B 2020-05-04 16:04:00 1.3
128 B 2020-05-04 16:05:00 1.3
129 B 2020-05-04 16:06:00 1.3
130 B 2020-05-04 16:07:00 1.5
[131 rows x 3 columns]
创建
DatetimeIndex
并使用链接:
仅用于处理price
列,请使用:
df1 = df.set_index("date").groupby('id')['price'].resample("60S").pad().reset_index()
print (df1)
id date price
0 A 2020-05-04 15:00:00 1.2
1 A 2020-05-04 15:01:00 1.2
2 A 2020-05-04 15:02:00 1.2
3 A 2020-05-04 15:03:00 1.2
4 A 2020-05-04 15:04:00 1.2
.. .. ... ...
126 B 2020-05-04 16:03:00 1.3
127 B 2020-05-04 16:04:00 1.3
128 B 2020-05-04 16:05:00 1.3
129 B 2020-05-04 16:06:00 1.3
130 B 2020-05-04 16:07:00 1.5
[131 rows x 3 columns]
太棒了,我知道不会那么难太棒了,我知道不会那么难