编写程序以根据索引值截断数据帧时间序列数据
假设您有一个包含时间序列数据的数据帧,而截断数据的结果是,
before truncate: Id time_series 0 1 2020-01-05 1 2 2020-01-12 2 3 2020-01-19 3 4 2020-01-26 4 5 2020-02-02 5 6 2020-02-09 6 7 2020-02-16 7 8 2020-02-23 8 9 2020-03-01 9 10 2020-03-08 after truncate: Id time_series 1 2 2020-01-12
解决方案
为了解决这个问题,我们将遵循以下步骤-
定义一个数据框。
在start='01/01/2020'内创建date_range函数,期间=10,并分配freq='W'。从给定的开始日期到下一个每周的开始日期,它将生成十个日期,并将其存储为df['time_series']。
df['time_series'] = pd.date_range('01/01/2020', periods=10, freq='W')
将函数应用于某些索引值中,例如before='01/01/2020',after='10/02/2020'并将其存储为结果,df.truncate()
result = df.truncate(before='01/01/2020',after='10/02/2020')
例子
让我们看一下下面的实现以获得更好的理解-
import pandas as pd d = {'Id': [1,2,3,4,5,6,7,8,9,10]} df = pd.DataFrame(d) df['time_series'] = pd.date_range('01/01/2020', periods=10, freq='W') print(df) result = df.truncate(before='01/01/2020',after='10/02/2020') print(result)
输出
before truncate: Id time_series 0 1 2020-01-05 1 2 2020-01-12 2 3 2020-01-19 3 4 2020-01-26 4 5 2020-02-02 5 6 2020-02-09 6 7 2020-02-16 7 8 2020-02-23 8 9 2020-03-01 9 10 2020-03-08 after truncate: Id time_series 1 2 2020-01-12