numpyの配列でfloatをフォーマットする [重複].
質問
こんな感じでnumpyの配列があれば。
[2.15295647e+01, 8.12531501e+00, 3.97113829e+00, 1.00777250e+01]
小数点以下の数字を移動して、このようなnumpyの配列になるようにフォーマットするにはどうしたらよいでしょうか。
[21.53, 8.13, 3.97, 10.08]
np.around(a, decimals=2)
は
[2.15300000e+01, 8.13000000e+00, 3.97000000e+00, 1.00800000e+01]
を出すだけで、他の方法は見つかっていません。
どのように解決するのですか?
numpyを作成するために を表示します。 float 配列を任意のフォーマットで表示するために、 float 値を入力として受け取り、フォーマットされた文字列を返すカスタム関数を定義することができます。
In [1]: float_formatter = "{:.2f}".format
は
f
は固定小数点形式(「科学的」ではない)を意味します。
.2
は小数点以下2桁を意味します (文字列の書式については
はここで
).
float値でテストしてみましょう。
In [2]: float_formatter(1.234567E3)
Out[2]: '1234.57'
numpyがすべてのfloat配列をこのように表示するようにするためには
formatter=
引数を
np.set_printoptions
:
In [3]: np.set_printoptions(formatter={'float_kind':float_formatter})
これでnumpyは全てのfloat配列をこのように表示します。
In [4]: np.random.randn(5) * 10
Out[4]: array([5.25, 3.91, 0.04, -1.53, 6.68]
これはnumpyの配列にのみ影響し、スカラーには影響しないことに注意してください。
In [5]: np.pi
Out[5]: 3.141592653589793
また、float 以外や複素数float などには影響しません。他のスカラー型のために別のフォーマッタを定義する必要があります。
また、この だけです。 は、numpyがfloat値を表示する方法に影響します。計算で使用される実際の値は、元の精度を保持します。
例えば
In [6]: a = np.array([1E-9])
In [7]: a
Out[7]: array([0.00])
In [8]: a == 0
Out[8]: array([False], dtype=bool)
numpyプリント
a
と同じであるかのように
0
と等しいかのように見えますが、そうではありません。
1E-9
.
もし実際に配列の値を計算でどのように使われるかに影響を与えるような方法で丸めたいのであれば
np.round
を使うべきです。
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] 文字列が数値(float)であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] 新しい配列を作成せずに、既存のJavaScript配列を別の配列で拡張する方法
-
[解決済み] Django のテストデータベースをメモリ上だけで動作させるには?
-
[解決済み] データクラスとtyping.NamedTupleの主な使用例
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】科学的記数法なしで、与えられた精度でnumpy.arrayをpretty-printするには?
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] Djangoで2つの日付の間を選択する
-
[解決済み] Pythonで0xを使わずにhex()を使うには?
-
[解決済み] Jupyter (IPython)ノートブックのセッションをpickleして保存する方法
-
[解決済み] pycharmがタブをスペースに自動変換する
-
[解決済み] Pythonの文字列書式をリストで使う
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?