python数据分析-numpy使用(三)

本文详细介绍了使用NumPy进行矩阵操作的方法,包括矩阵的输出、合并、分割以及数组赋值的特点。通过具体代码示例,讲解了如何按行、按列输出矩阵,如何进行矩阵的纵向和横向合并,以及如何分割矩阵。同时,还探讨了数组赋值的关联性和如何避免这一特性。

1 矩阵的输出
先初始

import numpy as np
'''a=np.arange(3,15).reshape((3,4))

1.1 按行输出

for row in a:   # 按列输出,按行就把转置去掉
    print(row)
**```
1.2  按列输出**

for row in a.T: # 按列输出,按行就把转置去掉
print(row)

**1.3  输出为一行**
flatten迭代器

print(a.T.flatten()) #迭代器,将矩阵转换成一行

**1.4  输出为一列**

for i in a.flat:
print(i) #输出成一列

**2  矩阵的合并**
初始化

a1=np.array([1,1,1])
b1=np.array([2,2,2])
```
2.1 纵向合并

print(np.vstack((a1,b1))) #vertical stack

2.2 横向合并

print(np.hstack((a1,b1))) #horizontal stack

2.3 对array进行转置

print(a1[:,np.newaxis])    #利用newaxis进行转置

newaxis相当于一维,即把a1转化为n维1列即对a1转置成功

2.4 合并多个
利用concatenate合并多个array

print(np.concatenate((a1,a1,a1),axis=0))  #多个矩阵一起

3 对矩阵分割
纵向分割与横向分割

'print(np.split(a,2,axis=1)[0],np.split(a,2,axis=1))  

axis=1说明进行,横向分割,‘2‘指的是,把a分成两部分

另一种方式的分割

print(np.hsplit(a,2))   #水平分割
print(np.split(a,3,axis=0))  # 纵向
print(np.vsplit(a,3))  #纵向

不等分割

print(np.array_split(a,2,axis=0))#不等分割

4 ‘=‘’array中对于数组的赋值是关联
即a=b,则我对a进行改变b也会改变,对b改变a也会改变
对于单个值‘=’无关联

a=1
b=a
a=2
print(a,b)

a = np.arange(4)
# array([0, 1, 2, 3])

b = a
c = a
d = b
a[0] = 11
print(a,b,d)

无关联则采用copy

b = a.copy()    # deep copy
print(b)        # array([11, 22, 33,  3])
a[3] = 44
print(a)        # array([11, 22, 33, 44])
print(b)        # array([11, 22, 33,  3])
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值