前提
pythonで機械学習を用いた研究をしております。その過程で、どの桁の数値も全て有効数字を揃えて学習する場面があり、そのデータの作成に手間取っています。
実現したいこと
- PythonでDataframe内のすべての有効数字を揃えたい
(例:123456と0.567を有効数字2桁→120000と0.56)
- 桁数を指定して様々な状況に対応できるようにしたい
(round関数を使用するときのような)
データ一例
A | B | C | D |
---|---|---|---|
1234567 | 1234 | 5.67 | 11 |
2345678 | 2345 | 6.78 | 13 |
3456789 | 3456 | 0.01 | 18 |
4567890 | 4567 | 0.44 | 19 |
理想のデータ
有効数字2桁で指定した場合
A | B | C | D |
---|---|---|---|
1200000 | 1200 | 5.7 | 11 |
2300000 | 2300 | 6.8 | 13 |
3500000 | 3500 | 0.01 | 18 |
4600000 | 4600 | 0.44 | 19 |
試したこと
pandasのround関数などを用いて下~桁での四捨五入などを試しましたが、やりたいこととは少し違いました。また、以下のようなコマンドも表示を変えるだけで中身自体は変わらないということを知りませんでした。
python
1pd.options.display.float_format = '{:.2g}'.format
補足情報(FW/ツールのバージョンなど)
拙い文章ですが、何か不明点などあれば修正・加筆をするのでどなたかお力添えお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/25 09:24