ノンプログラマーのためのPython学習サイト

Pandas|文字列から数値への変換

eye_catch_Pandas

困っている人

  • Pandasで文字列から数値へ変換する方法を知りたい
  • データ型を確認する方法を知りたい
  • データ型を変換する具体的な操作方法を教えてほしい
この記事で解決できること
  1. Pandasで文字列から数値へ変換する方法が分かる
  2. データ型を確認する方法(dtype・dtypes)の使い方が分かる
  3. 文字列から数値へ変換する具体的な操作が分かる

Pythonによる文字列から数値への変換について

文字列から数値への変換は、データ分析の前処理によく使われるテクニックです。

実際のビジネスの現場では、Excel等に手入力したデータを使うこともあり、書式がバラバラだと集計に失敗することになります。データ分析は、まずデータの書式が統一されているかを事前に確認する必要があります。

データ データ型
100 str型
100 int型
100.5 float型

今回は、Pandasのデータフレームにおける、文字列から数値(int型・float型)に変換する方法を解説していきます。データ分析の前処理に欠かせないテクニックなので、ぜひ参考にしてください。

Pythonのデータ型の確認と、文字列から数値への変換方法

今回紹介するデータ型の確認、および文字列から数値への変換方法です。

No. 基本形 説明
1 dtype データ型の確認(指定の列)
2 dtypes データ型の確認(全ての列)
3 astype(int) 文字列から整数(int型)に変換
4 astype(float) 文字列から浮動小数点数(float型)に変換

Pythonの大文字・小文字の変換に使用するサンプルデータ

この記事では以下のサンプルデータを使います。よろしければ、ダウンロードしてご利用ください。

[st-mybox title=”” fontawesome=”” color=”#757575″ bordercolor=”#7ca1b7″ bgcolor=”#ffffff” borderwidth=”2″ borderradius=”2″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]

  • 商品データ_1(’ data‘)

[/st-mybox]

また、GoogleColabへのサンプルデータ(Excelファイル)の読み込み方法については、以下の記事を参考にしてください。

[st-card id=180 label=”” name=”” bgcolor=”” color=”” fontawesome=”” readmore=”on”]

Pythonで文字列から数値(int型・float型)へ変換

それでは、文字列から数値(int型・float型)への変換方法を説明していきます。まずはExcelファイルを読み込んでください。

Excelファイル(data_1)の読み込み

Pandasを使ってExcelファイルを読み込みます。整数型、文字列型、浮動小数点型の3種類のデータ型が混ざっていることが分かります。

import pandas as pd
df_1=pd.read_excel("/content/data.xlsx")
df_1

1.pandasをインポート
2.変数(df_1)にExcelファイルから読み込んだデータフレームを代入
3.変数(df_1)を出力

データ型の確認

「dtype」を使ってデータ型を確認します。object型だということが分かります。

print(df_1['数値'].dtype)

1.「数値の列」のデータ型を出力

文字列・浮動小数点から整数への変換(object型→int型)

文字列・浮動小数点から整数(int型)に変換します。「数値_1」に変換後のデータが表示されています。

df_1['数値_1'] = df_1['数値'].astype(int)
df_1

1.変数(df_1[‘数値_1’])に、整数(int型)に変換したデータを代入
2.変数(df_1)を出力

データ型の確認

「dtype」を使ってデータ型を確認します。int型だということが分かります。

print(df_1['数値_1'].dtype)

1.データフレーム の数値の列のデータ型を出力

文字列・整数から浮動小数点への変換(object型→float型)

文字列・整数から浮動小数点(float型)に変換します。「数値_2」に変換後のデータが表示されています。

df_1['数値_2'] = df_1['数値'].astype(float)
df_1

1.変数(df_1[‘数値_2’])に、浮動小数点(float型)に変換したデータを代入
2.変数(df_1)を出力

データ型の確認

「dtypes」を使って全ての列のデータ型を確認します。「数値_2」はfloat型だということが分かります。

df_1.dtypes

1.データフレーム の全ての列のデータ型を出力

浮動小数点の第二位までの表示方法(round関数)

round関数を使って、浮動小数点の第二位までを表示します。「数値_3」に変換後のデータが表示されています。

df_1['数値_3']=df_1['数値_2'].round(2)
df_1
  1. 変数(df_1[‘数値_3’])に、浮動小数点第二位までのデータを代入
  2. 変数(df_1)を出力
データ型の確認

「dtypes」を使って全ての列のデータ型を確認します。「数値_3」はfloat型だということが分かります。

df_1.dtypes
  1. データフレーム の全ての列のデータ型を出力

浮動小数点の第一位までの表示方法(round関数)

round関数を使って、浮動小数点の第一位までを表示します。「数値_4」に変換後のデータが表示されています。

df_1['数値_4']=df_1['数値_2'].round(1)
df_1
  1. 変数(df_1[‘数値_4’])に、浮動小数点第一位までのデータを代入
  2. 変数(df_1)を出力
データ型の確認

「dtypes」を使って全ての列のデータ型を確認します。「数値_4」はfloat型だということが分かります。

df_1.dtypes
  1. データフレーム の全ての列のデータ型を出力

Pythonによる文字列から数値への変換まとめ

Pythonによる文字列から数値への変換方法について解説しました。

データ分析を行う前には、使用するデータの書式が統一されているかを事前に確認する必要があります。バラバラのデータで分析してしまうと、間違った結果を出すことになるからです。

今回ご紹介した「astype(int)」と「astype(float)」は、文字列を数値へ一括で変換できる便利なメソッドなので、参考にしてください。

最後まで読んでいただき、ありがとうございます。