矩阵/数组的创建-----(二)数据分析

一.numpy矩阵

numpy: 计算模块主要有两种数据类型 ----数组 矩阵

特点: 运算快

1.numpy创建矩阵

import numpy as np
mat1=np.mat("1 2 3;2 3 4;1 2 3")      
mat2=np.mat("1 2 3 ;3 4 5 ;4 5 6")
mat3=np.mat("1 2 ; 3 4 ;2 4")
mat4=np.mat("1 3 ;4 3")
mat5=np.mat("1;2;3")
mat6=np.mat("1 2 3")
print(mat1)
print(type(mat1))    # <class 'numpy.matrix'>
'''
[[1 2 3]
 [2 3 4]
 [1 2 3]]
[[1 2 3]
 [3 4 5]
 [4 5 6]]
[[1 2]
 [3 4]
 [2 4]]
[[1 3]
 [4 3]]
[[1]
 [2]
 [3]]
[[1 2 3]]
<class 'numpy.matrix'>
 '''

2.矩阵计算

# 矩阵的加法运算:
print(mat1+mat2)
# 矩阵的乘法运算
print(mat1*mat2)
#print(mat1*mat3)
# 矩阵的转置
print(mat1.T)
# 矩阵的逆矩阵
print(mat2.I)
# 对应元素相乘
print(np.multiply(mat1,mat2))
'''
[[2 4 6]
 [5 7 9]
 [5 7 9]]
[[19 25 31]
 [27 36 45]
 [19 25 31]]
[[1 2 1]
 [2 3 2]
 [3 4 3]]
[[-1.2009599e+16  3.6028797e+16 -2.4019198e+16]
 [ 2.4019198e+16 -7.2057594e+16  4.8038396e+16]
 [-1.2009599e+16  3.6028797e+16 -2.4019198e+16]]
[[ 1  4  9]
 [ 6 12 20]
 [ 4 10 18]]
 '''

3.矩阵属性

# 矩阵的结构
print(mat1.shape)    #(3, 3)
# 矩阵的元素个数
print(mat1.size)     #9 
# 矩阵的元素类型
print(mat1.dtype)    #int32
# 矩阵的维度
print(mat1.ndim)    #2
print(mat5.ndim)    #2
print(mat6.ndim)    #2

二.数组的创建

数组的所有运算都是对应元素的运算

1.数组的创建

# 一维的数组
arr1=np.array([1,2,3,4])    
# 二维数组
arr2=np.array([[1,2,3],[2,3,4],[2,5,6]])
# 列向量类型的数组(二维数组)
arr3=np.array([[1],[2],[3],[4]])
print(arr1)
print(arr2)
print(arr3)
print(type(arr1))
print(type(arr2))
print(type(arr3))

'''
[1 2 3 4]
[[1 2 3]
 [2 3 4]
 [2 5 6]]
[[1]
 [2]
 [3]
 [4]]
<class 'numpy.ndarray'>
<class 'numpy.ndarray'>
<class 'numpy.ndarray'>
'''

2.数组的属性

# 数组的结构
print(arr1.shape)     #(4,)
print(arr2.shape)     #(3, 3)
# 数组的元素个数
print(arr1.size)      #4
print(arr2.size)      #9
# 数组的元素类型
print(arr1.dtype)     #int32
print(arr2.dtype)     #int32
# 数组的维度
print(arr1.ndim)      #1
print(arr2.ndim)      #2

3. 数组的索引

# 一维数组的索引
print(arr1[::2])
# 二维数组的切片[行切片,列切片]
print(arr2[1,2])
print(arr2[:2,0:2])

# 不同行不同列的切片(坐标对应)
print(arr2[(0,1,2,2),(1,2,1,2)])

# 坐标取值# 不要行列同时传入bool值,只在行的位置或列的位置传入即可
mask=np.array([1,0,1],dtype=np.bool)
print(mask)
print(arr2[mask,:2])

'''
[1 3]
4
[[1 2]
 [2 3]]
[2 4 5 6]
[ True False  True]
[[1 2]
 [2 5]]
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值