04. データ型

図解!Python データ型を徹底解説!(確認・変換・指定方法と種類一覧)

更新日:

 

Pythonにおけるデータ型の定義(指定)方法

変数名を付けた後に、通常は代入という変数に対して値を設定する処理をします。Pythonでは、その際に代入した値によって変数のデータ型(数値、文字列など、どのようなタイプのデータか)が決まります。

例えば変数testに対して文字列'abc'を代入すると、

変数testのデータ型はstr(文字列)になり、

 
 
一方で、変数testに対して整数6を代入すると、

変数testのデータ型はint(整数)になります。

 
 

Pythonにおけるデータ型の種類一覧

Pythonの主なデータ型は以下になります。

データ型説明記述例
str文字列文字、文字列
" " ダブルクォーテーション、もしくは' ' シングルクォーテーションで囲って定義する。
str = 'abc'
int整数小数点を含まない数値num = 6
float浮動小数点小数点を含む数値num = 3.14
boolブールTrue、Falseで定義する。check_flg = True
check_flg = False
datetime日付日付date1 = datetime.datetime(2020, 1, 31, 12, 36, 45)
list配列1.複数の要素(文字列、整数、論理など)を含むもの。
2.[ ] を使って定義し、各要素の間はカンマ','で区切る。
3.格納した各要素の変更が可能。
list = ['abc', 6, True]
tupleタプル1.複数の要素(文字列、整数、論理など)を含むもの。
2.( ) を使って定義し、各要素の間はカンマ','で区切る。
3.格納した各要素の変更は不可能。
tuple = ('abc', 6, True)
dictionary辞書1.複数の要素(文字列、整数、論理など)を含むもの。
2.{ }を使って定義し、各要素は、キーと組合せて間にコロン':'を挟み記述する。
3.キー値と合わせて値を設定することにより、キー値を元に値を参照できる。
4.格納した各要素の変更は可能。
dict = {'Key1' : 'Val1', 'Key2' : 'Val2'}

list、tuple、dictionaryについては、それぞれ後の章で詳しく解説しますので、
・listは、「リスト(List)/配列の使い方
・tupleは、「タプル(Tuple)の使い方
・dictionaryは、「Dictionary(辞書)の使い方
を参照ください。

 
また、Pythonには上記以外にも多くのデータ型があり、特にndarray、Series、DataFrameなどのデータ型は後の章でも利用します。これらについても、
・ndarrayは、「NumPyのインストールから使い方徹底解説
・Series、DataFrameは、「Pandasでデータ分析
を参照ください。

 
 

Pythonにおけるデータ型の確認方法

データ型を調べる時は、type()を利用します。

type(オブジェクト)

type()は、引数に指定した変数などのオブジェクトのデータ型を返します。

 
例えば、変数testに対して文字列'abc'を代入し、type()で変数testのデータ型を確認すると、以下のようにstr(文字列)型が返ってきます。

str

 

同様に、変数testに対して浮動小数点3.14を代入し、type()で変数testのデータ型を確認すると、以下のようにfloat(浮動小数点)型が返ってきます。

float

 
 

Pythonでのデータ型の変換方法

整数int型から文字列str型への変換

数値から文字列型への変換には、str()を利用します。

str(数値)

引数の数値には、整数int型や浮動小数点float型を指定することができます。そして、str()は、引数に指定した数値を文字列に変換し返します。

 
 
例として、整数30を文字列’30’に変換してみましょう。
変数num1に対して整数30を代入し、type()で変数num1のデータ型を確認すると、int(整数)型が返ってきます。

int

 
この変数num1をstr()に渡すと、’30’と’(シングルクォーテーション)で囲まれ、文字列に変換されて表示されました。

'30'

 
実際にtype()でデータ型を確認すると、str(文字列)型に変換されていることがわかります。

str

 
 

浮動小数点float型から文字列str型への変換

浮動小数点も整数と同様に文字列型への変換には、str()を利用します。

 
例として、浮動小数点30.45を文字列’30.45’に変換します。
変数num2に対して浮動小数点30.45を代入し、type()で変数num2のデータ型を確認すると、float(浮動小数点)型が返ってきます。

float

 
この変数num2をstr()に渡すと、’30.45’と文字列に変換されて表示されました。

'30.45'

 
type()でデータ型を確認すると、str(文字列)型に変換されていることがわかります。

str

 
 

文字列str型から整数int型への変換

文字列からint(整数)型への変換には、int()を利用します。

int(文字列)

引数の文字列には、int型になり得る文字列を指定します。そして、int()は、引数に指定した文字列をint型に変換し返します。

 
 
例として、文字列’34’を整数34に変換してみましょう。
変数str1に対して文字列’34’を代入し、type()で変数str1のデータ型を確認すると、str(文字列)型が返ってきます。

str

 
この変数str1をint()に渡すと、34と’(シングルクォーテーション)が無くなり、整数に変換されて表示されました。

34

 
実際にtype()でデータ型を確認すると、int(整数)型に変換されていることがわかります。

int

 
 

文字列str型から浮動小数点float型への変換

文字列からfloat(浮動小数点)型への変換には、float()を利用します。

float(文字列)

引数の文字列には、float型になり得る文字列を指定します。そして、float()は、引数に指定した文字列をfloat型に変換し返します。

 
 
例として、文字列’32.18’を浮動小数点32.18に変換してみましょう。
変数str2に対して文字列’32.18’を代入し、type()で変数str2のデータ型を確認すると、str(文字列)型が返ってきます。

str

 
この変数str2をfloat()に渡すと、32.18と’(シングルクォーテーション)が無くなり、整数に変換されて表示されました。

32.18

 
実際にtype()でデータ型を確認すると、float(浮動小数点)型に変換されていることがわかります。

float

 
 

日付datetime型から文字列str型への変換

datatime(日付)型から文字列への変換には、strftimeを利用します。

datetime.strftime (フォーマット)

strftimeでは、datetimeで指定された日付を引数のフォーマットで文字列型に変換し返します。

 
 
例として、日付2020/1/31 12:36:45を文字列'2020/01/31 12:36:45'に変換してみましょう。

 
まずはdatetimeをインポートします。そして、datetime.datetime()に対して、引数として、年、月、日、時、分、秒を渡し、変数date1に格納します。変数date1の内容を確認します。

datetime.datetime(2020, 1, 31, 12, 36, 45)

datetime.datetime()と日付型でデータが表示されました。

 
さらにtype()で変数date1のデータ型を確認すると、datetime.datetimeと表示され、日付型でデータが格納されていることがわかります。

datetime.datetime

 
この変数date1をstrftime()で文字列に変換します。その際にフォーマットとして"%Y/%m/%d %H:%M:%S"を指定します。

'2020/01/31 12:36:45'

すると、先ほどの日付型のデータが'2020/01/31 12:36:45'と文字列に変換されて表示されました。

 
type()でデータ型を確認すると、strと表示され、文字列型になっていることがわかります。

str

 
 

文字列str型から日付datetime型への変換

文字列からdatatime(日付)型への変換には、strptimeを利用します。

datetime.strptime (文字列, フォーマット)

strptimeでは、最初の引数で指定された日付形式の文字列をdatetime型に変換します。もう1つの引数は、日付形式の文字列のフォーマットを指定します。

 
 
例として、今度は、文字列'2020/01/31 12:36:45'を日付型の2020/1/31 12:36:45に変換してみましょう。

 
変数str1に日付の形式で文字列を格納します。さらにtype()で変数str1のデータ型を確認すると、strと表示され、文字列型でデータが格納されていることがわかります。

str

 
この変数str1をstrptime()で日付型に変換します。その際にフォーマットとして"%Y/%m/%d %H:%M:%S"を指定します。

datetime.datetime(2020, 1, 31, 12, 36, 45)

先ほどの文字列型のデータが日付型に変換されて表示されました。

 
type()でデータ型を確認すると、datetime.datetimeと表示され、日付型になっていることがわかります。

datetime.datetime

 
 
関連記事です。
Pythonに関する重要なトピック全般について学んでいきたいと考えておられる方には、次のリンクをお勧めします。

 






このページも人気です!!

まとめ記事

1

Python3におけるWEBスクレイピングの方法について初心者向けに解説した記事です。   Requests、Beautiful Soup、Selenium、Pandas、newspaper ...

2

Pythonの基本的なトピックについて、チュートリアル形式で初心者向けに解説した記事です。プログラミング未経験者や初心者でもわかりやすいよう、丁寧に解説しています。   Pythonでデータ ...

3

Pandas(パンダス)とは、データを効率的に扱うために開発されたPythonのライブラリの1つで、データの取り込みや加工・集計、分析処理に利用します。   Pandasには2つの主要なデー ...

4

データ分析、機械学習、ディープラーニングにはグラフの描画による可視化は不可欠です。データは、加工前の状態ではただの数字の羅列でしかなく、一目で必要な情報が伝わるものではありません。それを集計しグラフに ...

5

NumPy(ナンパイ)は、数値計算を効率的に行うための拡張ライブラリです。ベクトルや行列などを効率的に数値計算するための数学関数ライブラリを提供します。NumPyを使うことにより、数値計算をより早く、 ...

-04. データ型

Copyright© AI-interのPython3入門 , 2020 All Rights Reserved.