我怎样才能提高1.数据帧四分之一?

2024-06-17 16:44:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我想移动一个1.数据帧四分之一。数据帧看起来像:

            ID   Nowcast  Forecast
1991-01-01   35   4144.70   4137.40
1991-01-01   40   4114.00   4105.00
1991-01-01   60   4135.00   4130.00
....

到目前为止,我计算第一个时间戳1991-01-01的出现次数,并相应地移动数据帧。代码是:

Stamps = df.index.unique()
zero = 0
for val in df.index:
    if val == Stamps[0]:
        zero = zero + 1
df = df.shift(zero)

该操作产生以下数据帧:

              ID   Nowcast  Forecast 
1991-04-01   35.0   4144.70   4137.40       
1991-04-01   40.0   4114.00   4105.00       
1991-04-01   60.0   4135.00   4130.00  

我做这件事的方式让我觉得效率低下而且容易出错。有更好的办法吗?你知道吗


Tags: 数据代码iniddfforindex时间
1条回答
网友
1楼 · 发布于 2024-06-17 16:44:09

您可以使用pd.DateOffset()

In [110]: df
Out[110]:
            ID  Nowcast  Forecast
1991-01-01  35   4144.7    4137.4
1991-01-01  40   4114.0    4105.0
1991-01-01  60   4135.0    4130.0

In [111]: df.index += pd.DateOffset(months=3)

In [112]: df
Out[112]:
            ID  Nowcast  Forecast
1991-04-01  35   4144.7    4137.4
1991-04-01  40   4114.0    4105.0
1991-04-01  60   4135.0    4130.0

相关问题 更多 >