2012-07-02 38 views
78

Làm thế nào tôi có thể kiểm tra xem mảng numpy có trống hay không?Làm thế nào tôi có thể kiểm tra xem mảng numpy có trống hay không?

Tôi đã sử dụng mã sau đây, nhưng điều này không thành công nếu mảng chứa số không.

if not self.Definition.all(): 

đây có phải là giải pháp không?

if self.Definition == array([]): 
+4

'len (mảng ([]))' là 0. 'len (mảng ([0])' là 1. –

+2

bạn có muốn kiểm tra mảng có độ dài bằng không, mảng có chứa tất cả các số không, hoặc cả hai? Định nghĩa của bạn là 'rỗng' là gì? – jozzas

+6

@StevenRumbalski: Nhưng 'len (mảng ([[]])' là 1 quá! – strpeter

Trả lời

132

Bạn luôn có thể có một cái nhìn tại các thuộc tính .size:

import numpy as np 
a = np.array([]) 
print a.size # 0 
8

http://www.scipy.org/Tentative_NumPy_Tutorial#head-6a1bc005bd80e1b19f812e1e64e0d25d50f99fe2

đối tượng chính NumPy là mảng đa chiều đồng nhất. Trong kích thước Numpy được gọi là trục. Số lượng trục được xếp hạng. Lớp mảng của Numpy được gọi là ndarray. Nó cũng được biết bởi mảng bí danh. Các thuộc tính quan trọng hơn của đối tượng ndarray là:

ndarray.ndim
số trục (kích thước) của mảng. Trong thế giới Python, số thứ nguyên được gọi là thứ hạng.

ndarray.shape
kích thước của mảng. Đây là một bộ các số nguyên cho biết kích thước của mảng trong mỗi thứ nguyên. Đối với ma trận có n hàng và cột m, hình dạng sẽ là (n, m). Do đó chiều dài của tuple hình dạng là thứ hạng hoặc số thứ nguyên, ndim.

ndarray.size
tổng số phần tử của mảng. Điều này tương đương với sản phẩm của các yếu tố hình dạng.

Các vấn đề liên quan