2024-04-24 08:06:48 发布
网友
我有一个多索引序列/数据帧,ID和时间戳作为键。此数据结构包含各种ID的日常数据。这个月底重采样的数据结构我可以看一下吗?在
ID ts value 1 2001-01-30 1 2001-01-31 2 2001-02-01 3 2 2001-01-30 3 2001-01-31 2 2001-02-01 4
我想要这个输出
我可以使用重采样函数调用来帮助我吗?我知道我可以创建月底日期列表,循环这些日期并找到这些值。但我想利用熊猫的全部功能。在
为什么要重新取样?只需将索引设置为ts,然后切片,如下所示:
ts
from cStringIO import StringIO raw = """id ts value 1 2001-01-30 1 1 2001-01-31 2 1 2001-02-01 3 2 2001-01-30 3 2 2001-01-31 2 2 2001-02-01 4""" sio = StringIO(raw) df = read_csv(sio, sep=r'\s+', header=0, parse_dates=[1]) df.set_index('ts', inplace=True)
切片,然后重置索引:
导致:
ts value id 1 2001-01-31 00:00:00 2 2 2001-01-31 00:00:00 2
如果您不在乎如果月末值不存在,那么可以执行以下操作:
df.groupby('id', as_index=False).resample('M', how='last')
这给了
id value ts 2001-01-31 1 2 2001-02-28 1 3 2001-01-31 2 2 2001-02-28 2 4
为什么要重新取样?只需将索引设置为
ts
,然后切片,如下所示:切片,然后重置索引:
^{pr2}$导致:
如果您不在乎如果月末值不存在,那么可以执行以下操作:
这给了
相关问题 更多 >
编程相关推荐