Python pandasで日付型(時間型)を操作する

 本記事では、pandasで特定列を日付型へ変換し、続けて色々操作する雛形コードを載せました。主に下図のような処理をします。

f:id:HK29:20220228230102p:plain


はじめに、日付型(時間型)へ型変換するのは次の通りです。

df['日付'] = pd.to_datetime(df['日付'])

 そして、一連の処理は下記です。csvファイルの読み出しから、指定列を日付型へ変換、現在の日時の取得、現在から数年前の日付の計算(演算)、日付を条件指定して行データを抽出します。

#!/usr/bin/env python
# coding: utf-8

# In[1]:


import pandas as pd

# csvファイルを読み込み
df = pd.read_csv('8267_イオン.csv')
df


# In[2]:


# 各列の型を調べる
print(df.dtypes)


# In[3]:


# 日付型(時間型)へ変換する
df['日付'] = pd.to_datetime(df['日付'])
df


# In[4]:


# 各列の型を調べる
print(df.dtypes)


# In[5]:


# 今日の日時を取得する
import datetime
now = datetime.datetime.now()
#now = now.strftime("%y%m%d")
now


# In[6]:


# 今日から3年前の日付を取得する
from dateutil import relativedelta

# 月, 年の場合は、dateutilのrelativedeltaを使う
my_time = now + relativedelta.relativedelta(years = -3)
print(my_time.year, my_time.month, my_time.day)
# 秒, 時間, 日の場合
#my_time = now + datetime.timedelta(days = 3, hours = 5)


# In[7]:


# 今日から3年前までのデータを抽出する
#df = df[df['日付'] > datetime.datetime(2019, 1, 1)]
df = df[df['日付'] > datetime.datetime(my_time.year, my_time.month, my_time.day)] #df.reset_index(drop = True, inplace = True) df # In[ ]:

以上

<広告>