Computer >> Máy Tính >  >> Lập trình >> Python

Viết chương trình để cắt bớt dữ liệu chuỗi thời gian khung dữ liệu dựa trên giá trị chỉ mục

Giả sử bạn có một khung dữ liệu với dữ liệu chuỗi thời gian và kết quả cho dữ liệu bị cắt ngắn là,

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

Giải pháp

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước dưới đây -

  • Xác định khung dữ liệu.

  • Tạo hàm date_range bên trong start =’01 / 01/2020 ’, period =10 và gán freq =‘ W ’. Nó sẽ tạo mười ngày từ ngày bắt đầu nhất định đến ngày bắt đầu hàng tuần tiếp theo và lưu trữ nó dưới dạng df [‘time_series’].

df['time_series'] = pd.date_range('01/01/2020',
                                    periods=10,
                                    freq='W')
  • Áp dụng hàm df.truncate () bên trong một số giá trị chỉ mục như trước =’01 / 01/2020 ’, sau =’10 / 02/2020’ và kết quả là lưu trữ nó,

result = df.truncate(before='01/01/2020',after='10/02/2020')

Ví dụ

Hãy xem cách triển khai bên dưới để hiểu rõ hơn -

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)

Đầu ra

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