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 であることがわかります。

次に、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」です。

(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)
以前と同様に、新しいデータ型はオブジェクトです。

(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 です。

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 内のすべての列にわたってオブジェクトの新しいデータ型が取得されます。
