使用 Python 和 pytz 时区对象将日期时间数组转换为字符串数组


要将日期时间数组转换为字符串数组,请在 Python NumPy 中使用 numpy.datetime_as_string() 方法。该方法返回一个与输入数组形状相同的字符串数组。第一个参数是要格式化的 UTC 时间戳数组。

第二个参数是“时区”,即显示日期时间时要使用的时区信息。如果为“UTC”,则以 Z 结尾以指示 UTC 时间。如果为“local”,则先转换为本地时区,然后以 +-#### 时区偏移量结尾。如果为 tzinfo 对象,则与“local”相同,但使用指定的时区。

步骤

首先,导入所需的库。对于 pytz 时区,我们导入了 'pytz' 库 -

import numpy as np
import pytz

创建日期时间数组。'M' 类型指定日期时间 -

arr = np.arange('2022-02-20T03:25', 6*60, 60, dtype='M8[m]')

显示我们的数组 -

print("Array...\n",arr)

获取数据类型 -

print("\nArray datatype...\n",arr.dtype)

获取数组的维度 -

print("\nArray Dimensions...\n",arr.ndim)

获取数组的形状 -

print("\nOur Array Shape...\n",arr.shape)

获取数组的元素数量 -

print("\nNumber of elements in the Array...\n",arr.size)

要将日期时间数组转换为字符串数组,请使用 numpy.datetime_as_string() 方法。该方法返回一个与输入数组形状相同的字符串数组 -

print("\nResult...\n",np.datetime_as_string(arr, timezone=pytz.timezone('US/Eastern')))

示例

import numpy as np
import pytz

# Create an array of datetime
# The 'M' type specifies datetime
arr = np.arange('2022-02-20T03:25', 6*60, 60, dtype='M8[m]')

# Displaying our array
print("Array...\n",arr)

# Get the datatype
print("\nArray datatype...\n",arr.dtype)

# Get the dimensions of the Array
print("\nArray Dimensions...\n",arr.ndim)

# Get the shape of the Array
print("\nOur Array Shape...\n",arr.shape)

# Get the number of elements of the Array
print("\nNumber of elements in the Array...\n",arr.size)

# To convert an array of datetimes into an array of strings, use the numpy.datetime_as_string() method in Python Numpy
# The method returns an array of strings the same shape as the input array
print("\nResult...\n",np.datetime_as_string(arr, timezone=pytz.timezone('US/Eastern')))

输出

Array...
['2022-02-20T03:25' '2022-02-20T04:25' '2022-02-20T05:25'
'2022-02-20T06:25' '2022-02-20T07:25' '2022-02-20T08:25']

Array datatype...
datetime64[m]

Array Dimensions...
1

Our Array Shape...
(6,)

Number of elements in the Array...
6

Result...
['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']

更新于: 2022年2月24日

134 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告