Để chuyển đổi mảng datetime thành mảng chuỗi, sử dụng numpy.datetime_as_string() trong NumPy Python. Phương thức trả về mảng chuỗi cùng shape với mảng đầu vào. Tham số đầu tiên là mảng timestamp UTC cần định dạng.
Tham số thứ hai là timezone: thông tin timezone khi hiển thị datetime. Nếu 'UTC', kết thúc bằng Z. Nếu 'local', chuyển sang timezone local và thêm offset. Nếu đối tượng tzinfo, làm như 'local' nhưng dùng timezone chỉ định.
Các bước
Nhập thư viện (bao gồm pytz):
import numpy as np import pytz
Tạo mảng datetime (kiểu 'M' chỉ định datetime):
arr = np.arange('2022-02-20T03:25', 6*60, 60, dtype='M8[m]')
Hiển thị mảng:
print("Mảng...\n", arr)
Lấy kiểu dữ liệu:
print("\nKiểu dữ liệu mảng...\n", arr.dtype)
Lấy số chiều:
print("\nSố chiều mảng...\n", arr.ndim)
Lấy shape:
print("\nShape mảng...\n", arr.shape)
Lấy số phần tử:
print("\nSố phần tử trong mảng...\n", arr.size)
Chuyển đổi datetime thành chuỗi với timezone US/Eastern:
print("\nKết quả...\n", np.datetime_as_string(arr, timezone=pytz.timezone('US/Eastern')))
Ví dụ hoàn chỉnh
import numpy as np
import pytz
arr = np.arange('2022-02-20T03:25', 6*60, 60, dtype='M8[m]')
print("Mảng...\n", arr)
print("\nKiểu dữ liệu mảng...\n", arr.dtype)
print("\nSố chiều mảng...\n", arr.ndim)
print("\nShape mảng...\n", arr.shape)
print("\nSố phần tử trong mảng...\n", arr.size)
print("\nKết quả...\n", np.datetime_as_string(arr, timezone=pytz.timezone('US/Eastern')))
Kết quả
Mảng... ['2022-02-20T03:25' '2022-02-20T04:25' '2022-02-20T05:25' '2022-02-20T06:25' '2022-02-20T07:25' '2022-02-20T08:25'] Kiểu dữ liệu mảng... datetime64[m] Số chiều mảng... 1 Shape mảng... (6,) Số phần tử trong mảng... 6 Kết quả... ['2022-02-19T22:25-0500' '2022-02-19T23:25-0500' '2022-02-20T00:25-0500' '2022-02-20T01:25-0500' '2022-02-20T02:25-0500' '2022-02-20T03:25-0500']