1. ホーム
  2. プログラミング言語
  3. パイソン

numpyの使用におけるよくある誤り

2022-01-22 18:05:21

このページは継続的に更新されます...

空の配列のスティッチングの問題

<テーブル
1


2
3
4
5
6
7
<ボタン <スパン コピー
import numpy as np


# error reporting
# ValueError: all the input array dimensions except for the concatenation axis must match exactly
np.vstack([np.array([[1, 2], [2, 3]]), np.array([])])
# Correct
np.vstack([np.array([[1, 2], [2, 3]]), np.empty((0, 2))])

上記の変な挙動はnumpyのバージョンに関係しており、最初の書き方はバージョン1.15.xでも正しかったと記憶していますが、本日、バージョン1.16.4でエラーを出すことがわかりました。GitHubのnumpyの関連リポジトリは以下の通りです。 イシュアー .

リストから配列を作成する

  • リスト内のデータをディープコピーする
  • 長さの異なる2つ以上のレベルのリストは、非数値オブジェクトを作成し、numpyはリストをそのデータとして直接保存します。
<テーブル
1


2
3
4
5
6
7
<ボタン <スパン コピー
data_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10], [11, 12, 13]]


data_array = np.array(data_list)
# data_array.dtype is object
data_list = [[1, 2, 3], [4, 5, 6]]
data_array = np.array(data_list)
data_array[0][0] = 0
# data_list[0][0] or 1