numpy 拼接_Python科学计算库-Numpy

4a98e9ab7fa0c69c8b20841548a3b7f7.png

import numpy # 导入numpy库

np = numpy.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]]) # 构造一个二维数组

print(np[:, 1]) # ":"表示所有的行,"1"表示第二列

print(np[:, 0:2]) # ":"表示所有的行,"0:2"表示第一列第二列

print("------------------------------------------------")

3c3bf22b7b8f3f48e08a0017bcfa268d.png

np1 = numpy.array([1, 2, 3, 4, 5, 6])

equal = (np1 == 6) # 挨着挨着匹配np1数组,dtype为bool类型

print(equal)

print(np1[equal])

print("------------------------------------------------")

28daf33954e82fe44c2f2d7685cc0e22.png

np2 = numpy.array(["1", "2", "3"])

print(np2.dtype) # 打印np2的类型

f2 = np2.astype(float) # numpy中的数据类型转换,不能直接改原数据的dtype! 只能用函数astype()

print(f2.dtype)

print(f2)

print("------------------------------------------------")

e00e17b1d00a2a1ccb7c05db8b2e8e59.png

np3 = numpy.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])

sum1 = np3.sum(axis=1) # 按行求和

sum2 = np3.sum(axis=0) # 按列求和

print(sum1)

print(sum2)

print("------------------------------------------------")

ecfc1bc56947f96ecb10ad642e0aef54.png

np4 = numpy.arange(15) # 构造15个从0开始的数

print(np4)

np4_1 = numpy.arange(5, 30, 5) # 构造5到30之间,以5为步长的数组

print(np4_1)

np5 = numpy.arange(15).reshape(5, 3) # 把15个数分成5行3列

print(np5.shape) # 打印行数,列数

print(np5.ndim) # 打印数组维度

print(np5.size) #打印数组大小

print(np5.sum(axis=1))

print("------------------------------------------------")

35f4411c272cfdce61923aca9d20bd9b.png

np6 = numpy.zeros((4, 3)) # 构造 0

print(np6)

np7 = numpy.ones((2, 3, 4), dtype = numpy.int32) # 构造一个三维数组,值全为1

print(np7)

print("------------------------------------------------")

b144d702f68783f1e15485e1f9e0fb2a.png

A = numpy.array([[1, 2], [0, 3]])

B = numpy.array([[2, 4],[5, 0]])

print(A * B) # 算数的乘法,每个位置都相乘

print(A.dot(B)) # 矩阵的乘法 (行和列相乘)

print(numpy.dot(A, B)) # 矩阵的乘法另一种写法

print(A.T) # 打印A的转置,实际就是A的行变成了列

print("-------------------矩阵常用操作-----------------------------")

ce0c288e71775d4af637fb900abff6e9.png

a = numpy.floor(10 * numpy.random.random((2, 2))) # floor向下取整

b = numpy.floor(10 * numpy.random.random((2, 2)))

print(a)

print(b)

print(numpy.hstack((a, b))) # 数组横拼接

print(numpy.vstack((a, b))) # 数组竖拼接

print("------------------矩阵常用操作------------------------------")

e561376f3d15aad6090f53f7f837622f.png

np8 = numpy.floor(10 * numpy.random.random((2, 12)))

print(np8)

np8_h = numpy.hsplit(np8, 3) # 将数组分成三份

print(np8_h)

print(numpy.hsplit(np8, (3, 4))) # 在第三行,第四行各切一刀,分成了三份

print(numpy.hsplit(np8, (3, 4, 5))) # 在第三行,第四行,第五行各切一刀,分成了四份

print("-----------------不同复制操作对比-------------------------------")

0e59e9c594325e65c8561dd77cd9b249.png

m = numpy.arange(12)

n = m

print(n is m)

n.shape = (3, 4)

print(m.shape)

print(id(m))

print(id(n))

print("------------------------------------------------")

1b7dbccd5710dc0073910a1523137a61.png

np9 = numpy.arange(0, 20, 5)

print(numpy.tile(np9, (3, 3))) # 对数组进行扩展

print("------------------------------------------------")

042950abc30b814341a01622bdaa1553.png

np10 = numpy.array([[2, 3, 1],[4, 2, 5]])

p = numpy.sort(np10, axis=1) # 按行进行升序排序

print(p)

np10.sort(axis=0) # 按列进行升序排序

print(np10)

print("-------------------求升序排序的索引值-----------------------------")

1eb8dbbcb74b26fe75f833d4efa28c2e.png

h = numpy.array([2, 3, 1, 4])

print(h.argsort(axis=0))

j = h.argsort(axis=0)

print(h[j]) # 把索引当做参数求原来的值

86ecbba1e36ef9c8e6a2cb8f1b4d9530.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值