Pandas でタイムスタンプを文字列に変換する
Pandas は、データ分析と操作に使用される公式に認められた Python ライブラリであり、通常、可変データ構造を使用して、Pandas DataFrame
と呼ばれる値を格納します。 一般的なデータとは別に、Pandas DataFrame
は日時値を保存するための優れたオプションです。
Pandas DataFrame
に格納されたタイムスタンプ シリーズを Python の文字列に変換する方法は 2つあります。どちらも、この記事の以下で詳しく説明しています。
dt.stfrtime()
関数を使用して Pandas タイムスタンプ シリーズを文字列に変換する
strftime()
関数は、datetime オブジェクトを文字列に変換します。 これは、特定の日時オブジェクトの単純な文字列表現です。
プレフィックスとして Python のアクセサ dt
と組み合わせると、dt.strftime()
関数は、一連のタイムスタンプまたは日時オブジェクトから文字列を変換した後、一連の文字列を返すことができます。 次のコードは、dt.stfrtime()
関数を使用して、pandas タイムスタンプ シリーズを Python の文字列に変換します。
コード:
import pandas as pd
dfx = pd.DataFrame(
{
"date": pd.to_datetime(
pd.Series(["20210101", "20210105", "20210106", "20210109"])
),
"tickets sold": [1080, 1574, 2279, 1910],
}
)
dfx["date"] = dfx["date"].dt.strftime("%Y-%m-%d")
print(dfx)
print(dfx.dtypes)
出力:
date tickets sold
0 2021-01-01 1080
1 2021-01-05 1574
2 2021-01-06 2279
3 2021-01-09 1910
date object
tickets sold int64
dtype: object
astype()
関数を使用して Pandas タイムスタンプ シリーズを文字列に変換する
astype()
関数は、Pandas DataFrame
列のデータ型を変換します。 astype()
関数は、単一の列または列のセットの両方の場合に同様に機能します。
構文:
df.astype(dtype, copy=True, errors="raise")
上記の関数のパラメータについて、以下で詳しく説明します。
dtype
- 指定されたタイムスタンプ シリーズを変換するデータ型を指定します。copy
-True
に設定すると、コンテンツのコピーが作成され、必要な変更が加えられます。errors
- 例外の発生を許可するかどうかを指定します。 その値はraise
またはignore
のいずれかです。
次の例では、astype()
関数を使用して、pandas タイムスタンプ シリーズを Python の文字列に変換します。
コード:
import pandas as pd
dfx = pd.DataFrame(
{
"date": pd.to_datetime(
pd.Series(["20210101", "20210105", "20210106", "20210109"])
),
"tickets sold": [1080, 1574, 2279, 1910],
}
)
dfx["date"] = dfx["date"].astype(str)
print(dfx)
print(dfx.dtypes)
出力:
date tickets sold
0 2021-01-01 1080
1 2021-01-05 1574
2 2021-01-06 2279
3 2021-01-09 1910
date object
tickets sold int64
dtype: object
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn