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

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

PythonのNumPyでは、numpy.datetime_as_string()メソッドを使用することで、datetime64型の日時の配列を文字列の配列に簡単に変換できます。このメソッドは、入力配列と同じ形状を持つ文字列の配列を返します。第1引数にはフォーマット対象となるUTCタイムスタンプの配列を渡し、unitパラメータで日時の単位(精度)を変更できます。ここでは例として「秒」を単位に指定しています。

実行手順

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

import numpy as np

次に、日時の配列を作成します。dtypeの 'M8[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()メソッドを使って、日時の配列を文字列の配列に変換します
# このメソッドは、入力配列と同じ形状の文字列配列を返します

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

サンプルコード

import numpy as np

# 日時の配列を作成
# 'M8[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タイムスタンプの配列を渡す
# unitパラメータで日時の単位(精度)を指定できる
# ここでは「秒」を指定
print("\nResult...\n",np.datetime_as_string(arr, unit ='s'))

出力結果

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: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']

出力結果からわかるように、元の配列は分単位(datetime64[m])でしたが、unit='s' を指定することで、秒まで含まれた形式(例:'2022-02-20T02:10:00')の文字列配列に変換されています。unit パラメータには 'Y'(年)、'M'(月)、'D'(日)、'h'(時)、'm'(分)、's'(秒)、'ms'(ミリ秒)などを指定でき、用途に応じて出力の精度を柔軟に制御できます。

  1. Pythonでリストをリストのリスト(ネストされたリスト)に変換する3つの方法

    データ分析では、リストの各要素を個別のサブリストに変換したいという場面によく遭遇します。本記事では、通常のリストを入力として受け取り、各要素がサブリストとなる「リストのリスト」へ変換する方法を、3つの異なるアプローチとともにわかりやすく解説します。1. forループ(リスト内包表記)を使う方法最もシンプルで直感的な方法です。リスト内包表記を使えば、各要素を1行ずつ読み取りながら、それぞれをリストとして新しいリストに格納できます。コードも短く、可読性も高いのが特徴です。コード例Alist = [Mon,Tue,Wed,Thu,Fri] # 元のリスト print(Given list: ,Al

  2. Pythonで文字列をタプルに変換する方法

    Pythonで文字列をタプルに変換するには?Pythonの組み込み関数 tuple() を使うと、任意のシーケンスオブジェクトをタプルに変換できます。引数に文字列を渡した場合、各文字がそれぞれ独立した文字列要素として扱われ、カンマで区切られた形でタプルに格納されます。基本的な使用例>>> string = "Tutorialspoint">>> tuple(string)(T, u, t, o, r, i, a, l, s, p, o, i, n, t)このように、文字列「Tutorialspoint」は14個の文字要素を持つタプルへと変