Numpy
参考博客
小知识点
如何初始化一个np.array,其中的值是我们自定义的类?
在基础篇中,我们已经知道如下内容:
通常,数组的元素最初是未知的,但它的大小是已知的。因此,NumPy提供了几个函数来创建具有初始占位符内容的数组。这就减少了数组增长的必要,因为数组增长的操作花费很大。
函数zeros创建一个由0组成的数组,函数 ones创建一个完整的数组,函数empty 创建一个数组,其初始内容是随机的,取决于内存的状态。
但是当我们希望填充的是我们自己定义的内容该如何写呢?
class Cell:
latitude=0.0
longitude=0.0
Person=0.0
Num=0 # 这个cell的蜂王数量
def __init__(self, latitude,longitude,Person,Num):
self.latitude=latitude
self.longitude=longitude
self.Person=Person
self.Num=Num
# 首先还是用zeros,但是记得dtype上写object
CaNp=np.zeros((latitudeRange.size,longitudeRange.size),dtype=object)
# 接下来只要for循环填充就行了:
for yi,y in enumerate(latitudeRange):
for xi,x in enumerate(longitudeRange):
CaNp[yi,xi]=Cell(y,x,0.0,0)
np.array如何从大到小排序?
一个比较基本的方法:使用切片
latitudeRange=np.sort(latitudeRange)[::-1] # np.sort首先是默认从小到大,我们再用切片将其翻转