私は1つの列にイメージ(ベクトル化された)を含むcsvファイルを作成しています。ここはthe csv file ~240MBです。配列と文字列の長さが前後に変換するときに一致しません
イメージの文字列を整数のリストに変換し、マトリックスに変形し、フリップしてリストに戻し、最後に長い文字列に変換しようとしています。しかし、物事は私が期待したものにはならなかった。以下は、私のコードは次のとおりです。
import pandas as pd
import numpy as np
df = pd.read_csv('training.csv')
img = df['Image'][0] # take the first row as example
img_int = np.fromstring(img, sep=' ') # img_int.shape --> (9216,), good.
img_matrix = img_int.reshape(96,96)
img_matrix_flipped = np.fliplr(img_matrix) # img_matrix_flipped.shape --> (96,96), good
img_matrix_flipped_vector = img_matrix_flipped.reshape(1, 9216) # img_matrix_flipped_vector.shape --> (1, 9216), good
img_matrix_flipped_vector_str = str(img_matrix_flipped_vector) # len(img_matrix_flipped_vector_str) --> 44, NOT GOOD!!!
私がlen(img_matrix_flipped_vector_str)は、文字列がその中のすべての9216個の整数を含むべきではない44である理由について混乱していますか?親切にお手伝いください!
私の知る限り、あなたのコードに間違いはありません。すべての配列シンボルと改行を取得しないようにするには、配列上で 'tostring()'メソッドを使う方が良いでしょう。 – Dschoni