質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

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

Q&A

解決済

1回答

1001閲覧

np.arangeでの配列にコンマ区切りがない

Lily_1007

総合スコア35

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 3.x

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

0グッド

0クリップ

投稿2022/04/29 10:24

前提

np.arangeで生成した配列がコンマ区切りが無く、コンマ付きの出力にしたいです。

該当のソースコード

python

1model_logU = np.arange(-4, -0.9, 0.1) 2print(len(model_logU)) 3print(model_logU) 4print(np.shape(model_logU)) 5print(type(model_logU)) 6 7i = np.where(model_logU == -2.7)[0] 8print(i)

と書くと出力は

31 [-4. -3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3. -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2. -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1. ] (31,) <class 'numpy.ndarray'> []

となります。

配列をコンマ付きにすると、

model_logU =np.array([-4., -3.9, -3.8, -3.7, -3.6, -3.5, -3.4, -3.3, -3.2, -3.1, -3., -2.9, -2.8, -2.7,\ -2.6, -2.5, -2.4, -2.3, -2.2, -2.1, -2., -1.9, -1.8, -1.7, -1.6, -1.5, -1.4, -1.3,\ -1.2, -1.1, -1. ]) print(len(model_logU)) print(model_logU) print(np.shape(model_logU)) print(type(model_logU)) i = np.where(model_logU == -2.7)[0] print(i) print(i + 1)

出力は

31 [-4. -3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3. -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2. -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1. ] (31,) <class 'numpy.ndarray'> [13] [14]

と正しく、np.whereで配列が認識されています。

解決したい疑問点

① 何故 np.arangeで生成した配列もちゃんと<class 'numpy.ndarray'>であるにも関わらず、np.whereではインデックス値が返ってこないのでしょうか?

② np.arange (またはnp.linespace)でコンマ付きの配列が返ってくるにはどうすればよいでしょうか?

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

python3

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

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

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

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

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

guest

回答1

0

ベストアンサー

python

1>>> import numpy as np 2>>> 3>>> model_logU = np.arange(-4, -0.9, 0.1) 4>>> print(repr(model_logU)) 5array([-4. , -3.9, -3.8, -3.7, -3.6, -3.5, -3.4, -3.3, -3.2, -3.1, -3. , 6 -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3, -2.2, -2.1, -2. , -1.9, 7 -1.8, -1.7, -1.6, -1.5, -1.4, -1.3, -1.2, -1.1, -1. ]) 8>>> 9>>> print(model_logU.tolist()) 10[-4.0, -3.9, -3.8, -3.6999999999999997, -3.5999999999999996, -3.4999999999999996, -3.3999999999999995, -3.2999999999999994, -3.1999999999999993, -3.099999999999999, -2.999999999999999, -2.899999999999999, -2.799999999999999, -2.699999999999999, -2.5999999999999988, -2.4999999999999987, -2.3999999999999986, -2.2999999999999985, -2.1999999999999984, -2.0999999999999983, -1.9999999999999982, -1.8999999999999981, -1.799999999999998, -1.699999999999998, -1.5999999999999979, -1.4999999999999978, -1.3999999999999977, -1.2999999999999976, -1.1999999999999975, -1.0999999999999974, -0.9999999999999973] 11>>> 12>>> i = np.where(np.round(model_logU, 1) == -2.7)[0] 13>>> i 14array([13]) 15>>> 16>>> model_logU[i].tolist() 17[-2.699999999999999]

投稿2022/04/29 10:44

melian

総合スコア19805

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

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

Lily_1007

2022/04/29 11:07

スゴく分かりやすい解説、誠にありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問