Pandas DataFrame で浮動小数点数を文字列に変換する 3 つの方法を以下に示します。

(1) astype(str)を使った単一のDataFrame列:

df["DataFrame Column"] = df["DataFrame Column"].astype(str)

(2) apply(str)を使った単一のDataFrame列:

df["DataFrame Column"] = df["DataFrame Column"].apply(str)

(3) 以下を使用したデータフレーム全体:

df = df.astype(str)

Pandas DataFrame で浮動小数点数を文字列に変換する 3 つの方法

(1) astype(str)を使用する

以下は、浮動小数点数のみを含む単一の列 (「numeric_values」) を持つ DataFrame の例です。

import pandas as pd

data = {"numeric_values": [22.0, 9.0, 557.0, 15.995, 225.12]}
df = pd.DataFrame(data)

print(df)
print(df.dtypes)

コードを実行すると、「numeric_values」列のデータ型が float であることがわかります。

Pandas DataFrame で浮動小数点数を文字列に変換する 1

次に、astype(str) を使用して浮動小数点数を文字列に変換します。

df["DataFrame Column"] = df["DataFrame Column"].astype(str)

したがって、変換を実行するための完全な Python コードは次のようになります。

import pandas as pd

data = {"numeric_values": [22.0, 9.0, 557.0, 15.995, 225.12]}
df = pd.DataFrame(data)

df["numeric_values"] = df["numeric_values"].astype(str)

print(df)
print(df.dtypes)

ご覧のとおり、「numeric_values」列の新しいデータ型は文字列を表す「object」です。

Pandas DataFrame で浮動小数点数を文字列に変換する 2

(2) apply(str) を使用する

オプションとして、apply(str) を使用して浮動小数点数を文字列に変換できます。

df["DataFrame Column"] = df["DataFrame Column"].apply(str)

文字列への変換を実行するための完全なコードは次のとおりです。

import pandas as pd

data = {"numeric_values": [22.0, 9.0, 557.0, 15.995, 225.12]}
df = pd.DataFrame(data)

df["numeric_values"] = df["numeric_values"].apply(str)

print(df)
print(df.dtypes)

以前と同様に、新しいデータ型はオブジェクトです。

Pandas DataFrame で浮動小数点数を文字列に変換する 3

(3) DataFrame全体を文字列に変換する

最後のケースでは、各列のデータ型が float である 3 つの列を持つ DataFrame を作成します。

import pandas as pd

data = {
    "numeric_values_1": [22.0, 9.0, 557.0, 15.995, 225.12],
    "numeric_values_2": [79.0, 5.0, 428.0, 19.883, 514.03],
    "numeric_values_3": [48.0, 7.0, 325.0, 12.772, 802.09],
}

df = pd.DataFrame(data)

print(df)
print(df.dtypes)

ご覧のとおり、DataFrame 内のすべての列のデータ型は実際には float です。

Pandas DataFrame で浮動小数点数を文字列に変換する 4

DataFrame 全体を float から文字列に変換するには、次を使用します。

df = df.astype(str)

完全なコードは次のようになります。

import pandas as pd

data = {
    "numeric_values_1": [22.0, 9.0, 557.0, 15.995, 225.12],
    "numeric_values_2": [79.0, 5.0, 428.0, 19.883, 514.03],
    "numeric_values_3": [48.0, 7.0, 325.0, 12.772, 802.09],
}

df = pd.DataFrame(data)
df = df.astype(str)

print(df)
print(df.dtypes)

これで、DataFrame 内のすべての列にわたってオブジェクトの新しいデータ型が取得されます。

Pandas DataFrame で浮動小数点数を文字列に変換する 5