numpy 배열이 비어 있는지 여부를 어떻게 확인할 수 있습니까?
numpy 배열이 비어 있는지 여부를 어떻게 확인할 수 있습니까?
다음 코드를 사용했지만 배열에 0이 있으면 실패합니다.
if not self.Definition.all():
이것이 해결책입니까?
if self.Definition == array( [] ):
당신은 항상 .size
속성을 볼 수 있습니다 . 그것은되는 정수로 정의 하고, 영 (인 0
배열에 요소가 존재하지 않는 경우) :
import numpy as np
a = np.array([])
if a.size == 0:
# Do something when `a` is empty
http://www.scipy.org/Tentative_NumPy_Tutorial#head-6a1bc005bd80e1b19f812e1e64e0d25d50f99fe2
NumPy의 주요 대상은 동종 다차원 배열입니다. Numpy 치수에서 좌표축이라고합니다. 축 수는 순위입니다. Numpy의 배열 클래스를 ndarray라고합니다. 별명 배열로도 알려져 있습니다. ndarray 객체의보다 중요한 속성은 다음과 같습니다.
ndarray.ndim
배열의 축 수 (차원)입니다. 파이썬 세계에서는 차원의 수를 순위라고합니다.배열
의 크기를 ndarray.shape . 각 차원의 배열 크기를 나타내는 정수 튜플입니다. n 개의 행과 m 개의 열이있는 행렬의 경우 모양은 (n, m)입니다. 따라서 모양 튜플의 길이는 ndim의 순위 또는 차원 수입니다.ndarray.size 배열
의 총 요소 수입니다. 이것은 모양 요소의 곱과 같습니다.
그러나 하나의 경고. np.array (None) .size는 1을 반환합니다! a.size 는 np.prod (a.shape)와 같고 np.array (None) .shape는 ()이며 빈 제품은 1이기 때문입니다.
>>> import numpy as np
>>> np.array(None).size
1
>>> np.array(None).shape
()
>>> np.prod(())
1.0
따라서 다음을 사용하여 numpy 배열에 요소가 있는지 테스트합니다.
>>> def elements(array):
... return array.ndim and array.size
>>> elements(np.array(None))
0
>>> elements(np.array([]))
0
>>> elements(np.zeros((2,3,4)))
24
참고 URL : https://stackoverflow.com/questions/11295609/how-can-i-check-whether-the-numpy-array-is-empty-or-not
'programing tip' 카테고리의 다른 글
참조 자바 스크립트가없는 객체 복제 (0) | 2020.06.26 |
---|---|
같은 클래스의 다른 생성자에서 생성자 호출 (0) | 2020.06.26 |
URL과 파일 이름을 안전하게하기 위해 문자열을 삭제 하시겠습니까? (0) | 2020.06.26 |
CSV에서 큰 따옴표를 올바르게 이스케이프 처리 (0) | 2020.06.26 |
Java에 경로 결합 방법이 있습니까? (0) | 2020.06.26 |