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

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

新規登録して質問してみよう
ただいま回答率
85.41%
Python 3.x

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

1回答

328閲覧

python エラー:cannot reshape array of size 1 into shape (303213,52,4)の改善方法

who02

総合スコア1

Python 3.x

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2023/11/07 16:23

実現したいこと

  • 特定の.npyファイルの配列の形状を変更させたい

前提

pythontでデータを機械学習にかけて識別率を判定するシステムを動作させようとしています。機械学習の前処理の段階でnpyファイルを渡すのですが、npyファイルの形状が異なっているためかエラーが発生しています。
そこでnpyファイルの配列形状を直そうと インスタンス.shape = (303213, 52, 4) で実行したところ該当エラーが発生しました。

発生している問題・エラーメッセージ

File "C:\Users\---.----\Downloads\-----Ⅰ\1106test\20230922 izumi_measurements\shape.py", line 11, in <module> p525.shape = (303213, 52, 4) ValueError: cannot reshape array of size 1 into shape (303213,52,4)

該当のソースコード

python

1import numpy as np 2p524= np.load("C:/Users/---.---/Downloads/----Ⅰ/1106test/20230922 izumi_measurements/izu_01-59_20230922-120000.p524L.npy",) 3print(p524.shape) 4 5p525= np.load("C:/Users/---.---/Downloads/----Ⅰ/1106test/20230922 izumi_measurements/izumi-1313-16.p524L.npy",allow_pickle=True) 6print(p525.shape) 7 8p525.shape = (303213, 52, 4) 9print(p525.shape) 10 11# print(p524.ndim) 12# print(p525.ndim)

試したこと

np.reshape(p525,(303213, 52, 4))
np.reshape((303213, 52, -1))での変形。

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

(spyder)Anaconda3 python3.7

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

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

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

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

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

melian

2023/11/07 16:42

> ValueError: cannot reshape array of size 1 into shape (303213,52,4) と表示されていますので、p525 の shape は (1,) です。なので、そのままでは reshape できません。 そうではなく、(303213, 52, 4) に拡張して、p525[0] 以外の要素を 0 で埋めるなら以下の様にします。 >>> p525 = np.array([1]) >>> p525.shape (1,) >>> p525.resize((303213, 52, 4)) >>> p525.shape (303213, 52, 4)
who02

2023/11/07 16:57

目的のデータを拡張することが必要なこと理解しました。 ご教示いただきありがとうございます。
guest

回答1

0

ベストアンサー

次のコードで再現されます.

python

1x = np.array([0]) 2x.shape = (303213, 52, 4) 3# Traceback (most recent call last): 4# File "<stdin>", line 1, in <module> 5# ValueError: cannot reshape array of size 1 into shape (303213, 52, 4)

つまり,質問者がnp.loadで得たものはarray of size 1ということです.

投稿2023/11/07 16:46

PondVillege

総合スコア1579

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.41%

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

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

質問する

関連した質問