Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chuyển mảng datetime thành mảng chuỗi với đơn vị thời gian trong Python

Để chuyển đổi mảng datetime thành mảng chuỗi (string) trong NumPy, sử dụng phương thức numpy.datetime_as_string(). Phương thức trả về mảng chuỗi cùng hình dạng với mảng đầu vào. Tham số unit cho phép thiết lập độ chính xác thời gian (ví dụ: giây, phút, giờ).

Tham số chính

  • arr (array_like): Mảng timestamp UTC cần định dạng.
  • unit (str, tùy chọn): Đơn vị thời gian để thay đổi độ chính xác (ví dụ: 's' cho giây, 'm' cho phút).

Các bước thực hiện

Nhập NumPy:

import numpy as np

Tạo mảng datetime với dtype 'M8[m]' (phút):

# Tạo mảng datetime từ '2022-02-20T02:10', bước 60 phút, 6 phần tử
arr = np.arange('2022-02-20T02:10', 6*60, 60, dtype='M8[m]')
print("Mảng...\n", arr)

# Kiểm tra thuộc tính
print("\nKiểu dữ liệu...\n", arr.dtype)
print("\nSố chiều...\n", arr.ndim)
print("\nHình dạng...\n", arr.shape)
print("\nSố phần tử...\n", arr.size)

# Chuyển đổi sang chuỗi với đơn vị giây ('s')
print("\nKết quả...\n", np.datetime_as_string(arr, unit='s'))

Ví dụ hoàn chỉnh

import numpy as np

# Tạo mảng datetime
arr = np.arange('2022-02-20T02:10', 6*60, 60, dtype='M8[m]')
print("Mảng...\n", arr)
print("\nKiểu dữ liệu...\n", arr.dtype)
print("\nSố chiều...\n", arr.ndim)
print("\nHình dạng...\n", arr.shape)
print("\nSố phần tử...\n", arr.size)

# Chuyển đổi với đơn vị giây
print("\nKết quả...\n", np.datetime_as_string(arr, unit='s'))

Kết quả đầu ra

Mảng...
 ['2022-02-20T02:10' '2022-02-20T03:10' '2022-02-20T04:10' '2022-02-20T05:10'
 '2022-02-20T06:10' '2022-02-20T07:10']
Kiểu dữ liệu...
 datetime64[m]
Số chiều...
 1
Hình dạng...
 (6,)
Số phần tử...
 6
Kết quả...
 ['2022-02-20T02:10:00' '2022-02-20T03:10:00' '2022-02-20T04:10:00'
 '2022-02-20T05:10:00' '2022-02-20T06:10:00' '2022-02-20T07:10:00']