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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

518閲覧

strの行列をnumpyのarrayに変換したいです。

zuminz

総合スコア0

NumPy

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/07/22 08:30

前提・実現したいこと

  Pandasデータフレームににstrで入っていた画像のピクセル行列をndarrayにして解析できるようにしたいのですがその方法がわからず難渋しております。是非ご教示いただければ幸いです。

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

このように、一つ一つの画像データがstrで格納されています。dataにはPandasから抜き出した20000個ほどの画像データが入っており、297×297のピクセルデータが下記のように収納されています。

data=xray["image_data_grayscale"] data=data.values data #以下出力 array(['[[185 40 0 ... 0 24 131]\n [ 75 14 0 ... 0 8 42]\n [ 11 2 0 ... 1 3 12]\n ...\n [ 78 62 68 ... 3 13 27]\n [104 74 75 ... 1 23 83]\n [156 90 78 ... 1 45 167]]', '[[135 133 131 ... 24 21 19]\n [132 130 129 ... 32 28 24]\n [134 128 125 ... 43 37 32]\n ...\n [ 2 2 3 ... 161 161 157]\n [ 1 2 3 ... 162 164 159]\n [ 3 2 3 ... 164 166 161]]', '[[ 62 10 0 ... 197 200 209]\n [ 35 6 0 ... 196 200 207]\n [ 31 5 0 ... 196 200 208]\n ...\n [255 163 116 ... 0 5 33]\n [255 169 123 ... 0 5 33]\n [255 179 133 ... 0 5 33]]', ..., '[[17 15 9 ... 93 96 98]\n [23 19 13 ... 91 92 94]\n [32 27 20 ... 92 91 92]\n ...\n [ 0 0 0 ... 0 0 0]\n [ 0 0 0 ... 0 0 0]\n [ 0 0 0 ... 0 0 0]]', '[[0.37254902 0.37647059 0.38431373 ... 0.47058824 0.58039216 0.60784314]\n [0.38039216 0.38039216 0.38823529 ... 0.43529412 0.54117647 0.60392157]\n [0.38039216 0.38431373 0.38823529 ... 0.41960784 0.50980392 0.60392157]\n ...\n [0.00392157 0.05490196 0.17254902 ... 0.23921569 0.23137255 0.21568627]\n [0.01176471 0.04705882 0.16862745 ... 0.23921569 0.23137255 0.21176471]\n [0.01568627 0.04313725 0.16862745 ... 0.23529412 0.23137255 0.21176471]]', '[[52 47 40 ... 16 16 18]\n [51 45 40 ... 16 16 18]\n [51 45 40 ... 16 16 18]\n ...\n [45 58 70 ... 46 58 76]\n [46 59 70 ... 46 59 77]\n [49 58 69 ... 47 60 78]]'], dtype=object)

試したこと

numpy.fromstring(data, dtype=float,sep='\n',)

ネットを探しては見たのですが、この程度しか思いついておりません。大変恐縮ではございますがどうぞよろしくお願いいたします。

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

環境はKaggleのノート(Python3)です。

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

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

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

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

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

ppaul

2021/07/22 09:17

[185 40 0 ... 0 24 131]には、本当に「...」が入っているのでしょうか。 その場合、復元は不可能です。
zuminz

2021/07/22 09:27

コメントありがとうございます、...の部分はシステム上省略されているだけで、各[]には297個の数字が入っております。
ppaul

2021/07/22 09:36 編集

了解です。 結果はどういう形を想定していますか? (297, 297)のshapeを持つndarryの20000個のリストですか、 (297, 297)のshapeを持つndarryの20000個の一次元ndarrayですか、 それともそれ以外ですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問