Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python(NumPy)で日時の配列を時間単位の文字列配列に変換する方法

PythonのNumPyで日時(datetime)の配列を文字列の配列に変換するには、numpy.datetime_as_string()メソッドを使用します。このメソッドは、入力配列と同じ形状の文字列配列を返します。第1引数には、フォーマット対象となるUTCタイムスタンプの配列を渡します。また、「units」パラメータで日時の単位を指定することで、出力される文字列の精度を変更できます。本記事では「時間(h)」単位を指定した例を紹介します。

手順

まず、必要なライブラリをインポートします。

import numpy as np

次に、日時の配列を作成します。dtypeの「M」はdatetime64型を表し、ここでは分単位(m)の配列を生成しています。

arr = np.arange('2022-02-20T02:10', 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()メソッドを使って、日時の配列を文字列の配列に変換します。unitに「'h'」を指定すると、時間単位までの精度で文字列化されます。

print("\nResult...\n",np.datetime_as_string(arr, unit ='h'))

完全なコード例

import numpy as np

# 日時の配列を作成
# dtypeの'M'はdatetime64型を指定
arr = np.arange('2022-02-20T02:10', 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()メソッドで日時の配列を文字列の配列に変換
# 戻り値は入力配列と同じ形状の文字列配列
# 第1引数はフォーマット対象のUTCタイムスタンプの配列
# unitsパラメータで日時の単位を指定し、精度を変更できる
# ここでは時間(hours)単位を指定
print("\nResult...\n",np.datetime_as_string(arr, unit ='h'))

実行結果

Array...
['2022-02-20T02:10' '2022-02-20T03:10' '2022-02-20T04:10'
'2022-02-20T05:10' '2022-02-20T06:10' '2022-02-20T07:10']

Array datatype...
datetime64[m]

Array Dimensions...
1

Our Array Shape...
(6,)

Number of elements in the Array...
6

Result...
['2022-02-20T02' '2022-02-20T03' '2022-02-20T04' '2022-02-20T05'
'2022-02-20T06' '2022-02-20T07']
  1. PythonでDateTime文字列をミリ秒単位の整数に変換する方法を徹底解説

    Pythonでは、timeモジュールを使うことで、現在時刻をミリ秒単位の整数として簡単に取得できます。基本的な考え方は、まず time.time() 関数で秒単位の時刻(浮動小数点数)を取得し、それに1000を掛けて四捨五入することでミリ秒に変換するというものです。現在時刻をミリ秒で取得する方法以下のサンプルコードでは、現在のUNIXタイムスタンプをミリ秒単位の整数として取得しています。import time milliseconds = int(round(time.time() * 1000)) print(milliseconds)実行結果このコードを実行すると、次のような出力が得られま

  2. Pythonで日付(date)を日時(datetime)に変換する方法

    Pythonでは、datetimeモジュールのcombine()メソッドを使うことで、日付(date)と時刻(time)を組み合わせて、新しいdatetimeオブジェクトを作成できます。timeオブジェクトが手元にない場合は、datetime.min.time()を使って最小の時刻(つまり深夜0時=真夜中)を表すtimeオブjectを取得できます。方法1:datetime.combine() を使う以下の例では、今日の日付と最小の時刻(0時0分0秒)を組み合わせて、datetimeオブジェクトを生成しています。from datetime import date from datetime im