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

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

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

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

Python 3.x

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

Q&A

解決済

1回答

3865閲覧

numpy.unravel_index(indices, dims, order='C')について

YuheiFujioka

総合スコア17

NumPy

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

Python 3.x

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

0グッド

0クリップ

投稿2016/05/22 10:36

###発生している問題

numpy.unravel_index(indices, dims, order='C')について、質問です。

このコードを使うことでどのような変換が行えるのか、また下の変換結果に至る理由がわかりません。

Scipy.orgのexsample

np.unravel_index([22, 41, 37], (7,6))

(array([3, 6, 6]), array([4, 5, 1]))

np.unravel_index([31, 41, 13], (7,6), order='F')

(array([3, 6, 6]), array([4, 5, 1]))

ご回答頂けますと幸いです。

###試したこと
公式リファレンスの参照、google検索で色々調べました。

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

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

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

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

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

guest

回答1

0

ベストアンサー

一言で言うと、1次元のインデックス配列を2次元のインデックス配列に変換しています。
以下の表の変換を行っています。

dimsが7x6の表であることを指定しています。各値はその表内でのインデックスを表します。

イメージ説明

...

ちなみに、ravel_multi_indexはこれの逆の操作を行います。

投稿2016/05/23 01:53

編集2016/05/23 02:00
argius

総合スコア9390

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

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

YuheiFujioka

2016/05/24 22:30

ありがとうございます。 変換前の配列のインデックスの最大値より、表のセルの数の方が大きければ、 この操作(inravel…)は可能なんでしょうか。
argius

2016/05/25 01:53

こういうことですか? numpy.unravel_index([22, 42, 37], (7,6)) (42は最大値オーバー) ↓ ValueError: invalid entry in index array
YuheiFujioka

2016/05/26 17:30

そうです。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問