python、pandas でのデータ型の確認方法と変換について
データ型の確認
Pythonの変数の場合「type()」で、PandasのDataFrameの場合は「.info()」で一括でデータ型が確認できる。
#Pythonの変数の場合
string = 'moji'
type(string)
#str
integer = 123
type(integer)
#int
#Pandasの場合
DF.dtypes
#id int64
#value object
#dtype: object
Pandasの場合、「.info()」でデータ型を表示することができます。
データ型の変換
int(整数) → str(文字列)
#Pythonの変数の場合
str(integer)
#123 (str)
#PandasのDataFrameの場合
DF['value'] = DF['value'].astype(int)
int(整数) → str(文字列)
#Pythonの変数の場合
int(strings)
#PandasのDataFrameの場合
DF['id'] = DF['value'].astype(str)
datetime(日時) ↔ int/str
read_csvなどでファイルを読み込んだだけではdatetime型にならないので個別にデータ型を設定しよう
from datetime import datetime
from datetime import timedelta
#文字列の日付をdatetime型に変換
DF['Date_datetime'] = pd.to_datetime(DF['Date_str'])
print( DF['Date_datetime'] )
# 0 2022-12-01
# 1 2022-12-02
# 2 2022-12-03
# 3 2022-12-04
# Name: datetime, dtype: datetime64[ns]
#年をintで取り出す
DF['Date_datetime'].dt.strftime('%Y').astype(int)
#月をintで取り出す
DF['Date_datetime'].dt.strftime('%m').astype(int)
#日をintで取り出す
DF['Date_datetime'].dt.strftime('%d').astype(int)
timedelta → int
#timedelta型をintに変換
delta_int = df['Date_timedelta'].dt.days