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

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

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

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

NumPy

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

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

Q&A

0回答

1280閲覧

numpyのcsv出力について

Chyoro

総合スコア15

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

NumPy

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

データマイニング

データマイニングは、購買履歴やクレジットカードの利用履歴、電話の通話履歴など企業にある大量のデータを解析して、その中に隠れたパターンやルールを探し出す技術です。DMと略されることもあります。

0グッド

0クリップ

投稿2020/07/30 12:09

画像データを一次配列のデータに変換しcsv出力しようとしてます。画像データは全部で54。Excelで開いた時にImage、No、2列の行に、それぞれ整数によるスペース区切りの一次配列に変換された画像データとその番号を書き込みたいと思ってます。
54個の画像データは、既に学習済みの画像認識用ニューラルネットワーク(顔パーツの輪郭に沿ってLandmarkを付けていくてのもの)に新規学習用素材として転移学習をさせるためのデータです。
csvの出力は

filelist = glob.glob('/*.JPG') #最初にグレースケールにしてその後配列変換 gray_img = [Image.open(fname).convert('L') for fname in filelist] x = np.array([np.ravel(fname) for fname in gray_img]) np.savetxt('natsume.csv',x,delimiter=' ',fmt='%d')

と書いて問題無く生成されたのですが、一次配列のデータがシェルの制限文字数をオーバーし、次行以降に書き込まれてしまいます。しかもどの行までがひとつの画像の配列かわかりません。
こんな感じです。
イメージ説明
このニューラルネットーワークにはモデルがありまして、こちらのテスト画像がこれなのですが、同様に文字数オーバーし複数行にデータが書かれてますが、振られているナンバーから見てもちゃんと画像括りになっています。
イメージ説明
これと同じ仕様に現在のcsvを変更したいのですが、numpyでやるにはどすすればよろしいでしょうか?

どなたかお教え頂ければ幸いです。

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

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

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

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

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

aokikenichi

2020/07/30 23:55

ご質問の趣旨がよく分かりません テキストエディタで行番号を表示では駄目でしょうか? numpyに限定する意図は何でしょうか。例えばnumpy配列をDataFrameに変換してdf.to_csvでは駄目なのでしょうか これなら行インデックスも出力させれば行番号的になるかと
meg_

2020/07/31 05:44

「データがシェルの制限文字数をオーバーし」とはどういう意味でしょうか?
Chyoro

2020/08/01 13:37

meg_さま。ご連絡ありがとうございます。画像素材は1枚あたり96×96のグレースケールで、スペース区切りのcsv形式で生成しようとすると、1つのシェルに0~255までの明度階調を表す整数が、9216書き込まれようとされます。一つの数値が最大3桁分3文字でそれにスペースが付きます。ところがExcelの1シェルあたり32,767しかないので、のきなみ3桁ばかりのデータだったりすると、この制限を超えてデータが次の行のシェルに書き込まれるようです。
meg_

2020/08/02 01:04

"シェル"とはExcelのセルのことですか? 出力したcsvはExcelで開く必要があるのでしょうか? 中身を目視で確認したいならテキストエディタで良いかと思います。
Chyoro

2020/08/02 10:42

meg_さま。ご返信ありがとうございます。 すみません、おっしゃる通りセルです。 こちら、顔パーツのLandmarkを取得するニューラルネットーワーク構築のための作業でして、見本にしたのは以下のサイトです。 https://elix-tech.github.io/ja/2016/06/02/kaggle-facial-keypoints-ja.html ここで紹介してあるモデルとデータを用いて既に重みは整えました。 54個のデータはその成果を試すためのこちら側で用意した新たな素材です。 新しいこれらの素材をこのニューラルネットワークでどの程度読めるか確認しようとしています。 この後、状況に応じて、このサイトのデータも利用してさらにLandmark(このサイトではFacial Keypointsとしてますが)の数を増やした新たなニューラルネットワークを組もうとしております。 こちらのサイトのコードは、データのロードについては学習用、テスト用、両方で共有できるよう書かれていたり、学習におていはLandmarkが不揃いのデータも有効活用できるよう、Landmarkのグループを組み学習できるよう設計されていたりで便利です。 なので、基本この方式で進めていきたいと思ってます。 そこでデータもこのサイトに習ってそれぞれのLandmarkとそれに相応する画像を示すカラムが必要となってくると思われたので、とりあえずこちらの素材データ形式と同じスプレッドシートとして出してみようと思った次第です。で、まんまテストなり学習なりさえようと考えてます。 で、今回の質問となりました。 何か、間違いなどございましたらご指摘ください。 よろしくお願いします。
meg_

2020/08/02 12:50

csvはカンマ区切りのテキストファイルです。Excelでも開くことができるだけです。問題なくcsv出力できているのであれば推定用のデータとして使用できるでしょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問