機器學習之numpy和matplotlib學習(十一)
阿新 • • 發佈:2018-11-01
今天繼續來學習numpy。
學習有關複數矩陣在numpy中的建立和使用。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : SundayCoder-俊勇
# @File : numpy3.py
import numpy as np
# numpy基本學習第三課
# 今天學習建立一個複數矩陣。
array=np.array([1+2j,2+3j])
print array
# [ 1.+2.j 2.+3.j]
# 打印出複數矩陣的實部資料。
print array.real
# [ 1. 2.]
# 打印出複數矩陣的虛部資料。
print array.imag
# [ 2. 3.]
# 輸出複數矩陣的資料型別
print array.dtype
# complex128【複數型別】
# 無論是實數矩陣還是複數矩陣,轉化成為列表的方式均一樣。
# 例如把array目前這個複數舉證轉換成為列表。
list1=array.tolist()
print list1
# 輸出結果:[(1+2j), (2+3j)]
print list1[0]
# 輸出結果:(1+2j)
# 轉換成為列表的過程中可以指定資料型別。
# 這裡我把複數矩陣轉換成為實數整形列表
list2=array.astype(int)
print list2
# 輸出結果:[1 2]
# 這裡會出現一個警告:ComplexWarning: Casting complex values to real discards the imaginary part
# list2=array.astype(int)
# 也就是這樣的轉換不安全,丟失掉了複數的虛部。【一般實際中不推薦這樣使用】
執行結果:
[ 1.+2.j 2.+3.j]
[ 1. 2.]
[ 2. 3.]
complex128
[(1+2j), (2+3j)]
(1+2j)
ComplexWarning: Casting complex values to real discards the imaginary part
list2=array.astype(int)
[1 2]