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

Chuyển đổi mảng datetime thành mảng chuỗi truyền đơn vị giờ datetime trong Python

Để chuyển đổi mảng datetime thành mảng chuỗi, sử dụng phương thức numpy.datetime_as_string() trong Python NumPy. 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ố đầu tiên là mảng timestamp UTC để định dạng. Tham số unit đặt đơn vị datetime để thay đổi độ chính xác. Chúng ta đã truyền đơn vị giờ.

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

Trước tiên, nhập thư viện cần thiết:

import numpy as np

Tạo mảng datetime. Kiểu 'M' chỉ định datetime:

arr = np.arange('2022-02-20T02:10', 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 của mảng:

print("\nSố chiều mảng...\n", arr.ndim)

Lấy hình dạng của mảng:

print("\nHình dạng mảng của chúng ta...\n", arr.shape)

Lấy số phần tử của mảng:

print("\nSố phần tử trong mảng...\n", arr.size)

Để chuyển đổi mảng datetime thành mảng chuỗi, sử dụng numpy.datetime_as_string() với đơn vị giờ:

print("\nKết quả...\n", np.datetime_as_string(arr, unit='h'))

Ví dụ hoàn chỉnh

import numpy as np

# Tạo mảng datetime
# Kiểu 'M' chỉ định datetime
arr = np.arange('2022-02-20T02:10', 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 mảng
print("\nSố chiều mảng...\n", arr.ndim)

# Lấy hình dạng mảng
print("\nHình dạng mảng của chúng ta...\n", arr.shape)

# Lấy số phần tử mảng
print("\nSố phần tử trong mảng...\n", arr.size)

# Chuyển đổi datetime thành chuỗi với đơn vị giờ
print("\nKết quả...\n", np.datetime_as_string(arr, unit='h'))

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 mảng...
 datetime64[m]
Số chiều mảng...
 1
Hình dạng mảng của chúng ta...
 (6,)
Số phần tử trong mảng...
 6
Kết quả...
 ['2022-02-20T02' '2022-02-20T03' '2022-02-20T04' '2022-02-20T05' '2022-02-20T06' '2022-02-20T07']

Giải thích: Mảng datetime gốc độ chính xác phút (M8[m]). datetime_as_string với unit='h' cắt bớt phần phút, chỉ giữ đến giờ: '2022-02-20T02', '2022-02-20T03', v.v.