numpy数组的复数和时间的操作
#复数:复数是由一个实数和一个虚数组合构成,表示为x+yj
def testht14():a = np.array([[1+1j,2+4j,3+7j],[4+2j,5+5j,6+8j],[7+3j,8+6j,9+9j]])print(a.shape) #维度print(a.dtype) #元素类型print(a.ndim) #维数print(a.size) #元素数量print(a.itemsize) #元素字节数print(a.nbytes)#总字节数print(a.real,a.imag,sep='\n')#复数的实部和虚部print(a.T) #数组对象的转置print([elem for elem in a.flat]) #扁平迭代器b =a.tolist()print(b)
测试结果:
(3, 3)
complex128
2
9
16
144
[[1. 2. 3.]
[4. 5. 6.]
[7. 8. 9.]]
[[1. 4. 7.]
[2. 5. 8.]
[3. 6. 9.]]
[[1.+1.j 4.+2.j 7.+3.j]
[2.+4.j 5.+5.j 8.+6.j]
[3.+7.j 6.+8.j 9.+9.j]]
[(1+1j), (2+4j), (3+7j), (4+2j), (5+5j), (6+8j), (7+3j), (8+6j), (9+9j)]
[[(1+1j), (2+4j), (3+7j)], [(4+2j), (5+5j), (6+8j)], [(7+3j), (8+6j), (9+9j)]]
时间和日期:
#测试日期类型数组
def testht15():f = np.array(['2011','2012-01-01','2013-01-01 01:01:01','2011-02-01'])#字符串无法相减,转化成日期类型,方便我们运算f = f.astype('M8[D]') #M8是日期,[D]表示精确到日,[h]精确到小时f = f.astype('int32')print(f[3]-f[0]) #数组的第4个和第一个相差多少天
31 days