Pandas DataFrame で文字列を整数に変換する 3 つの方法を以下に示します。
(1) astype(int)アプローチ:
df["dataframe_column"] = df["dataframe_column"].astype(int)(2)apply(int)アプローチ:
df["dataframe_column"] = df["dataframe_column"].apply(int)(3) map(int)アプローチ:
df["dataframe_column"] = df["dataframe_column"].map(int)文字列を整数に変換する手順の例を確認してみましょう。
Pandas DataFrame で文字列を整数に変換する手順
ステップ1: DataFrameを作成する
まず、次のデータに基づいて DataFrame を作成するとします。
| product | price |
| aaa | 210 |
| bbb | 250 |
価格列の値を引用符で囲むことで、文字列として取得できます。
Python での DataFrame は次のようになります。
import pandas as pd
data = {"product": ["aaa", "bbb"], "price": ["210", "250"]}
df = pd.DataFrame(data)
print(df)
print(df.dtypes)
コードを実行すると、価格列の下の値が文字列 (データ型はオブジェクト) であることがわかります。

ステップ2: Pandas DataFrameで文字列を整数に変換する
文字列を整数に変換するには、astype(int) を使用します。
df["dataframe_column"] = df["dataframe_column"].astype(int)私たちの例:
import pandas as pd
data = {"product": ["aaa", "bbb"], "price": ["210", "250"]}
df = pd.DataFrame(data)
df["price"] = df["price"].astype(int)
print(df)
print(df.dtypes)
ご覧のとおり、「price」列の値は整数になりました。

ステップ3(オプション):各メソッドの実行時間を確認する
timeit モジュールを使用して、各メソッドの実行時間をチェックできます。
import pandas as pd
import timeit
data = {"product": ["aaa", "bbb"], "price": ["210", "250"]}
df = pd.DataFrame(data)
def method_astype():
df["price"] = df["price"].astype(int)
def method_apply():
df["price"] = df["price"].apply(int)
def method_map():
df["price"] = df["price"].map(int)
methods_used = [method_astype, method_apply, method_map]
for i in methods_used:
print(f"{i.__name__}: {timeit.timeit(i, number=10000):.6f} seconds")
結果は次のとおりです。






