根据索引值截断数据框时间序列数据的程序


假设您有一个包含时间序列数据的数据框,而截断数据的计算结果是:

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’, periods = 10 中创建 date_range 函数并将 freq = ‘W’ 赋予它。它将生成从给定的开始日期到下一个周开始日期的十个日期,并将其存储为 df[‘time_series’]。

df['time_series'] = pd.date_range('01/01/2020',
                                    periods=10,
                                    freq='W')
  • 在一些索引值内应用 df.truncate() 函数,如 before=’01/01/2020’, after=’10/02/2020’,并将其存储为 result,

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

更新时间: 24-Feb-2021

254 次浏览

开启您的职业生涯

完成课程获得认证

开始
广告