机器学习之numpy和matplotlib学习(十一)
2017-06-30 本文已影响0人
SundayCoder
今天继续来学习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]