用 Python 编写一个程序,将数据框索引在正向和负向移动两个周期
pythonpandasserver side programmingprogramming更新于 2024/6/22 7:40:17
假设,您有一个数据框,将索引在正向和负向移动两个周期,
将索引在正向移动三个周期 Id Age 2020-01-01 00:00:00 NaN NaN 2020-01-01 12:00:00 NaN NaN 2020-01-02 00:00:00 1.0 10.0 2020-01-02 12:00:00 2.0 12.0 2020-01-03 00:00:00 3.0 14.0 将指数向负方向移动三个周期 Id Age 2020-01-01 00:00:00 3.0 14.0 2020-01-01 12:00:00 4.0 11.0 2020-01-02 00:00:00 5.0 13.0 2020-01-02 12:00:00 NaN NaN 2020-01-03 00:00:00 NaN NaN
解决方案
为了解决这个问题,我们将遵循下面给出的步骤 −
创建 pandas 时间序列,其中 start=’01-01-2020’、periods = 5、freq =’12H’
定义一个数据框
应用 df.shift() 将索引向正方向移动两个周期,即,
df.shift(2,axis=0)
应用 df.shift() 将索引向负方向移动两个周期,即,
df.shift(-2,axis=0)
示例
让我们看下面的代码以更好地理解 −
import pandas as pd
time_series = pd.date_range('01-01-2020', periods = 5, freq ='12H')
df = pd.DataFrame({"Id":[1, 2, 3, 4, 5],
&"年龄";:[10, 12, 14, 11, 13]},
index = time_series)
print("Dataframe is:\n",df)
print("将索引向正方向移动三个周期")
print(df.shift(2,axis=0))
print("将索引向负方向移动三个周期")
print(df.shift(-2,axis=0))
输出
Dataframe is: Id Age 2020-01-01 00:00:00 1 10 2020-01-01 12:00:00 2 12 2020-01-02 00:00:00 3 14 2020-01-02 12:00:00 4 11 2020-01-03 00:00:00 5 13 将指数向正方向移动三个周期 Id Age 2020-01-01 00:00:00 NaN NaN 2020-01-01 12:00:00 NaN NaN 2020-01-02 00:00:00 1.0 10.0 2020-01-02 12:00:00 2.0 12.0 2020-01-03 00:00:00 3.0 14.0 将指数向负方向移动三个周期 Id Age 2020-01-01 00:00:00 3.0 14.0 2020-01-01 12:00:00 4.0 11.0 2020-01-02 00:00:00 5.0 13.0 2020-01-02 12:00:00 NaN NaN 2020-01-03 00:00:00 NaN NaN
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

