Python

Python初心者向け:日付の処理を基本から解説

スポンサーリンク

はじめに

今回は日付型への変換を扱います。日付を表すColumnsであっても、文字列型のまま扱うこともあります。ただ日付型に変換しておいた方が、あとの処理が楽になることもたくさんあります。処理の仕方にはパターンがあるので、是非押さえておきましょう。

パターン

日付型への変換のパターンは、大体次の3パターンに分けることができます。一つずつみていきましょう。

文字列型(yyyymmdd)→日付型

1つめは、日付を表すColumnsが文字列型として認識されているパターンです。この場合は、pandasのto_datetime()を利用することで簡単に日付型に変換することができます。

サンプルデータを使ってみていきましょう。

# サンプルデータ
df_sample=pd.DataFrame({'名前':['らくだ','ぱんだ','うさぎ','ぞう','きりん'],
                        '来場日':['20200623','20200622','20200625','20200621','20200623']})
df_sample

文字列型として認識されている「来場日」を日付型に変更して新しい列「来場日(日付型)」にいれてみましょう。

df_sample['来場日(日付型)']=pd.to_datetime(df_sample['来場日'])
df_sample.info()

info()で型を確認すると、「来場日」はobject(文字列型)、「来場日(日付型)」は、datetime64(日付型)になっています。

数値型(yyyymmdd)→日付型

2つ目は、日付を表すColumnsが数値として認識されているパターンです。実はこの場合は、一旦、文字列型に変換します。すると、あとは1つめのパターンと同様に処理をすることができます。

サンプルデータを次のように書き換えておきます。

# サンプルデータ
df_sample=pd.DataFrame({'名前':['らくだ','ぱんだ','うさぎ','ぞう','きりん'],
                        '来場日':['20200623','20200622','20200625','20200621','20200623']})
df_sample

今回も「来場日(日付型)」を作ることにします。もともとが数値型の場合は次のようにします。

df_sample['来場日(日付型)']=pd.to_datetime(df_sample['来場日'].astype('str'))
df_sample.info()

数値型(UNIX時間)→日付型

最後に日付がUNIX秒で表されている場合です。こちらは、あまり馴染みがない場合もあるかもしれませんね。あまり出会うことがなければ、今後困ったときに、こういう処理もあったなぁ、と検索すればよいかと思います。一応、紹介だけしておきます。

# サンプルデータ
df_sample=pd.DataFrame({'名前':['らくだ','ぱんだ','うさぎ','ぞう','きりん'],
                        '来場日':[1257207400,1287206400,1237206400,1257202400,1157206400]})
df_sample

今度は来場日がUNIX時間(エポック秒)で与えられています。この場合は次のように処理をします。

df_sample['来場日(日付型)']=pd.to_datetime(df_sample['来場日'],unit='s')
df_sample

データ型を確認しておくと、次のようになります。

df_sample.info()
スポンサーリンク

まとめ

いかがでしたか?今回は日付型への変換を3パターンに分けて扱ってみました。参考になったでしょうか?このパターンを知っておけば、日付型の変換に困ることはないでしょう。

▶ 日付型に変換したら、日時の操作も学びましょう。こちらの記事をどうぞ。

▶ タイムゾーンを考慮した操作をする場合は次の投稿をご覧ください。

コメント

タイトルとURLをコピーしました