스트링 배열을 numpy로 플로트 배열로 변환하는 방법은 무엇입니까?
변환 방법
["1.1", "2.2", "3.2"]
로.
[1.1, 2.2, 3.2]
NumPy로?
음, 만약 당신이 목록으로 데이터를 읽고 있다면, 그냥 하세요.np.array(map(float, list_of_strings))(또는 이와 동등하게, 목록 이해력을 사용)(Python 3에서, 당신은 전화해야 할 것입니다.list에서map사용할 경우 반환 값map,부터map이제 반복기를 반환합니다.)
하지만, 만약 그것이 이미 멍청한 문자열들의 배열이라면, 더 나은 방법이 있습니다.사용하다astype().
import numpy as np
x = np.array(['1.1', '2.2', '3.3'])
y = x.astype(np.float)
다른 옵션은 numpy.asarray일 수 있습니다.
import numpy as np
a = ["1.1", "2.2", "3.2"]
b = np.asarray(a, dtype=float)
print(a, type(a), type(a[0]))
print(b, type(b), type(b[0]))
결과:
['1.1', '2.2', '3.2'] <class 'list'> <class 'str'>
[1.1 2.2 3.2] <class 'numpy.ndarray'> <class 'numpy.float64'>
단일 문자열이 있는 경우 np.from 문자열을 사용할 수 있습니다.
import numpy as np
x = ["1.1", "2.2", "3.2"]
x = ','.join(x)
x = np.fromstring( x, dtype=np.float, sep=',' )
메모,x = ','.join(x)x 배열을 문자열로 변환합니다.'1.1, 2.2, 3.2'txt 파일에서 줄을 읽는 경우 각 줄은 이미 문자열이 됩니다.
이것도 사용할 수 있습니다.
import numpy as np
x=np.array(['1.1', '2.2', '3.3'])
x=np.asfarray(x,float)
사용할 수 있습니다.np.array()와 함께dtype = float:
import numpy as np
x = ["1.1", "2.2", "3.2"]
y = np.array(x,dtype=float)
출력:
array([1.1, 2.2, 3.2])
언급URL : https://stackoverflow.com/questions/3877209/how-to-convert-an-array-of-strings-to-an-array-of-floats-in-numpy
'programing' 카테고리의 다른 글
| 빈 테이블의 MAX()를 NULL이 아닌 0으로 처리하는 방법 (0) | 2023.06.08 |
|---|---|
| 개체가 유형이 아닌지 확인(!= "IS"에 해당) - C# (0) | 2023.06.08 |
| 번들에 node_modules 종속성이 있는 프로덕션용 NestJS 앱을 올바르게 구축하는 방법은 무엇입니까? (0) | 2023.06.08 |
| Spring Batch ORA-08177: 단일 작업을 실행할 때 이 트랜잭션에 대한 액세스를 직렬화할 수 없습니다, 직렬화된 분리 수준 (0) | 2023.06.08 |
| MariaDB 10.1.44 row_number()가 없는 행 번호 (0) | 2023.06.08 |