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

Thời gian xử lý với Pandas DataFrame

Trong bài viết này, chúng ta sẽ tìm hiểu về cách tạo và xử lý các dấu thời gian khác nhau bằng cách sử dụng thư viện gấu trúc được tích hợp sẵn. Chúng tôi cũng đang sử dụng mô-đun numpy để tạo và sửa đổi cơ sở dữ liệu cần thiết cho việc tạo dấu thời gian.

IDE ưa thích:sổ ghi chép Jupyter

Trước khi bắt đầu hướng dẫn này, chúng ta phải cài đặt thư viện gấu trúc và thư viện numpy. Đối với máy tính xách tay jupyter này là nơi tốt nhất để kiểm tra và chạy mã của bạn. Để cài đặt gấu trúc, chúng ta phải chạy lệnh sau.

>>> pip install pandas

Nếu chúng ta chạy lệnh này, tất cả các phần phụ thuộc sẽ tự động được cài đặt. Sau khi hoàn tất, chúng ta phải khởi động lại hạt nhân để xem các thay đổi.

Sau khi cài đặt xong tất cả các phụ thuộc, chúng ta có thể nhập gấu trúc dưới dạng ‘p’.

Ở đây chúng ta gọi hàm tạo khung dữ liệu và khởi tạo cơ sở dữ liệu với chu kỳ 4 và tần suất 2 giờ kể từ đối số ngày. Bằng cách chỉ định khóa ‘thời gian’, chúng tôi đang hiển thị cơ sở dữ liệu.

>>> pip install pandas
>>> import pandas as p
>>> data_struct = p.DataFrame()
>>> data_struct['time'] = p.date_range('14/7/2019', periods = 4, freq='3H')
>>> print(data_struct['time'])
0 2019-07-14 00:00:00
1 2019-07-14 03:00:00
2 2019-07-14 06:00:00
3 2019-07-14 09:00:00
Name: time, dtype: datetime64[ns]

Bằng cách sử dụng .dt. các tính năng được trích xuất. Bằng cách sử dụng phương thức head (), chúng tôi hiển thị tất cả các hàng từ cơ sở dữ liệu.

>>> data_struct['year'] = data_struct['time'].dt.year
>>> data_struct.head(4)
   time
0 2019-07-14 00:00:00 2019
1 2019-07-14 03:00:00 2019
2 2019-07-14 06:00:00 2019
3 2019-07-14 09:00:00 2019

Ở đây chúng tôi đã triển khai hàm .array () có trong mô-đun numpy để tạo chuỗi thời gian. Các chuỗi này được chuyển đổi thành DateTime bằng cách sử dụng phương thức .to_datetime () trong thư viện gấu trúc.

>>> import numpy as n
>>> dt_timestring = n.array(['14-07-2019 07:26 AM', '13-07-2019 11:01 PM'])
>>> timestamps = [p.to_datetime(date, format ="%d-%m-%Y %I:%M %p", errors ="coerce") for date in dt_timestring]
>>> print(timestamps)
[Timestamp('2019-07-14 07:26:00'), Timestamp('2019-07-13 23:01:00')]

Ở đây chúng tôi đang lập chỉ mục cơ sở dữ liệu với ngày có nghĩa là trường "date" sẽ được hiển thị đầu tiên bằng cách sử dụng phương thức .set_index ().

>>> data_struct1 = p.DataFrame()
>>> data_struct1['date'] = p.date_range('18/07/2019', periods = 5, freq ='2H')
>>> data_struct1= data_struct1.set_index(data_struct1['date'])
>>> print(data_struct1.head(5))
   date
date
2019-07-18 00:00:00 2019-07-18 00:00:00
2019-07-18 02:00:00 2019-07-18 02:00:00
2019-07-18 04:00:00 2019-07-18 04:00:00
2019-07-18 06:00:00 2019-07-18 06:00:00
2019-07-18 08:00:00 2019-07-18 08:00:00

Nếu chúng ta chỉ muốn hiển thị một tập dữ liệu cụ thể từ cơ sở dữ liệu thì chúng ta thực hiện các lệnh như được thảo luận bên dưới -

>>> data_struct2 = p.DataFrame()
>>> data_struct2['date'] = p.date_range('17/07/2019', periods =3, freq ='4H')
>>> print(data_struct2.head(5))
   date
0 2019-07-17 00:00:00
1 2019-07-17 04:00:00
2 2019-07-17 08:00:00
>>> inp = data_struct2[(data_struct2['date'] > '2019-07-17 04:00:00')]
>>> print(inp)
   date
2 2019-07-17 08:00:00

Kết luận

Trong bài viết này, chúng ta đã học cách có thể đóng gói và giải nén các bộ giá trị theo nhiều cách khác nhau.