質問するログイン新規登録
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

6885閲覧

pandas  DataFrameの数値データを3桁区切りにする一般的な方法について

traiton

総合スコア27

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2022/04/15 15:34

0

0

前提

pythonでpandasのDataFrameが持つ列の数値データを3桁ごとにカンマを入れる方法を質問させてください。

実現したいこと

下記「試したこと」記載のようにDataFrameの要素が全てint型であった場合は、カンマを入れることができました。
一方でDataFrameがfloat型やobject型の列を保持していると同じ方法でカンマを入れることができませんでした。
そこで下記1,2かいずれかの手法で解決する方法をご教示いただけますでしょうか(一般的にDataFrameでカンマを入れる方法がございましたらそちらでも問題ないです)

(1)DataFrame型の数値にカンマをいれるメソッドがあるか
(2)特定の列のみ指定してカンマをいれる方法(下記例では"金額"の列に相当)

発生している問題・エラーメッセージ

ValueError: Unknown format code 'd' for object of type 'str' <pandas.io.formats.style.Styler at 0x2b7b99c3520>

該当のソースコード

data = pd.DataFrame({"a":[10,20,30],"b":[1000000,2000000,2000000]}) data.index=["ユーザーa","ユーザーb","ユーザーc"] data.columns=["購入数","金額"] data["文字列"]=["aaa","bbb","ccc"] data["float"]=data["金額"].astype(float) display(data) print(data.dtypes) tmp=data["金額"].style.format('{:,d}') display(tmp)

試したこと

下記のようにint型のみのデータではカンマ区切りにできました。

data = pd.DataFrame({"a":[10,20,30],"b":[1000000,2000000,2000000]})
data.index=["ユーザーa","ユーザーb","ユーザーc"]
data.columns=["購入数","金額"]
display(data)
print(data.dtypes)
tmp=data.style.format('{:,d}')
display(tmp)
イメージ説明

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

(2)特定の列のみ指定してカンマをいれる方法(下記例では"金額"の列に相当)

python

1tmp = data.style.format({'金額': '{:,d}'})

投稿2022/04/15 16:09

melian

総合スコア21294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

traiton

2022/04/18 12:37

ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問