mydata.csv
파일을 Numpy 배열 로 변환하고 싶습니다 .
행렬 표현 mydata.csv
파일이 있습니다 (행렬은 헤더 이름없이 부호있는 값이있는 14 * 79입니다.)
-0.094391 -0.086641 0.31659 0.66066 -0.33076 0.02751 …
-0.26169 -0.022418 0.47564 0.39925 -0.22232 0.16129 …
-0.33073 0.026102 0.62409 -0.098799 -0.086641 0.31832 …
-0.22134 0.15488 0.69289 -0.26515 -0.021011 0.47096 …
이 코드가이 경우에 효과가있을 것이라고 생각했습니다.
import numpy as np
data = np.genfromtxt('mydata.csv', dtype=float, delimiter=',', names=False)
하지만 작동하지 않았습니다.
최종 Numpy 데이터 모양을 다음과 같이 만들고 싶습니다. data.shape = (14, 79)
내 오류 메시지는 다음과 같습니다 ..
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-26-060012d7c568> in <module>
1 import numpy as np
2
----> 3 data = np.genfromtxt('output.csv', dtype=float, delimiter=',', names=False)
~\Anaconda3\envs\tensorflow\lib\site-packages\numpy\lib\npyio.py in genfromtxt(fname, dtype, comments, delimiter, skip_header, skip_footer, converters, missing_values, filling_values, usecols, names, excludelist, deletechars, replace_space, autostrip, case_sensitive, defaultfmt, unpack, usemask, loose, invalid_raise, max_rows, encoding)
1810 deletechars=deletechars,
1811 case_sensitive=case_sensitive,
-> 1812 replace_space=replace_space)
1813 # Make sure the names is a list (for 2.5)
1814 if names is not None:
~\Anaconda3\envs\tensorflow\lib\site-packages\numpy\lib\_iotools.py in easy_dtype(ndtype, names, defaultfmt, **validationargs)
934 # Simple dtype: repeat to match the nb of names
935 if nbtypes == 0:
--> 936 formats = tuple([ndtype.type] * len(names))
937 names = validate(names, defaultfmt=defaultfmt)
938 ndtype = np.dtype(list(zip(names, formats)))
TypeError: object of type 'bool' has no len()
이를 위해 먼저 추가 할 CSV
파일 목록 ( file_names )을 만듭니다 . 그런 다음 CSV
Numpy-Array의 형태를 변경 하여 단일 파일 로 내보낼 수 있습니다 . 이렇게하면 앞으로 나아갈 수 있습니다.
import pandas as pd
import numpy as np
combined_csv_files = pd.concat( [ pd.read_csv(f) for f in file_names ])
이제 이러한 파일을 단일 .csv-File 로 내보내 려면 다음 과 같이 사용하십시오.
combined_csv_files.to_csv( "combined_csv.csv", index=False)
이제 Numpy Array를 얻기 위해 다음과 같이 진행할 수 있습니다.
data_set = pd.read_csv('combined_csv.csv', header=None)
data_frames = pd.DataFrame(data_set)
required_array = np.array(data_frames.values)
print(required_array)
여기에서 다음을 사용하여 Numpy 배열을 재구성 할 수도 있습니다.
required_array.shape = (100, 14, 79)
이것을 확인하기 위해 cmd 에서 간단한 테스트를 수행 했습니다.
>>> y = np.zeros((2, 3, 4))
>>> y.shape
(2, 3, 4)
>>> y.shape = (3, 8)
>>> y
array([[ 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0.]])
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다