Python数据科学包(一)----- numpy

本文详细介绍NumPy库的基础操作,包括数组创建、基本运算、索引和复制等关键功能。通过实例展示如何使用NumPy进行矩阵操作,如创建、合并、分割数组,执行数学运算,以及数组的索引技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

numpy

1. array

  1. array把数组变成matrix
import numpy as np

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

print(array)
print('number of dim:',array.ndim)
print('shape:',array.shape)
print('size:',array.size)
  1. 创建array
#两行三列的矩阵
a = np.array([[2,23,4],
             [2,43,4]])
#定义一个三行四列全为0的矩阵
b = np.zeros((3,4))
c = np.ones((3,4),dtype=np.int16)
d = np.empty((3,4))
##生成一个有序数列,从10到20,步长为2
e = np.arange(10,20,2)
#从0到11
f = np.arange(12).reshape((3,4))
##生成线段,分为20段
g = np.linspace(1,10,20)
h = np.linspace(1,10,6).reshape((2,3))
  1. array 合并
import numpy as np

A = np.array([1,1,1])
B = np.array([2,2,2])

C = np.vstack((A,B)) #vertical stack
D = np.hstack((A,B)) #horizontal stack
print(A.shape,C.shape)
print(A.shape,D.shape)

A1 = A[:,np.newaxis] #add dim to column
B1 = B[:,np.newaxis]
C1= np.vstack((A1,B1)) #vertical stack
D1 = np.hstack((A1,B1)) #horizontal stack
print(A1.shape,C1.shape)
print(A1.shape,D1.shape)

C2 = np.concatenate((A1,B1,B1,A1),axis = 0) #combine in column
print(C2)
C3 = np.concatenate((A1,B1,B1,A1),axis = 1) #combine in row
print(C3)
  1. array分割
import numpy as np

A = np.array([1,1,1])
B = np.array([2,2,2])

C = np.vstack((A,B)) #vertical stack
D = np.hstack((A,B)) #horizontal stack
print(A.shape,C.shape)
print(A.shape,D.shape)

A1 = A[:,np.newaxis] #add dim to column
B1 = B[:,np.newaxis]
C1= np.vstack((A1,B1)) #vertical stack
D1 = np.hstack((A1,B1)) #horizontal stack
print(A1.shape,C1.shape)
print(A1.shape,D1.shape)

C2 = np.concatenate((A1,B1,B1,A1),axis = 0) #combine in column
print(C2)
C3 = np.concatenate((A1,B1,B1,A1),axis = 1) #combine in row
print(C3)

2. 基础运算

import numpy as np
a = np.array([10,20,30,40])
b = np.arange(4)

c = a+b
d = a-b
e = b**4
f = 10*np.sin(a)

print(b<3)
print(b==3)

#matrix calculator
x = np.array([[1,1],
              [0,1]])
y = np.arange(4).reshape((2,2))
#multiply
z = np.dot(x,y)
z1 = a.dot(b)

#random[0,1] 2rows 4 columns
a2 = np.random.random((2,4))
print(a2)
print(np.sum(a2,axis = 1)) #sum in row
print(np.min(a2,axis = 0)) #max in column
print(np.max(a2))

A = np.arange(2,14).reshape((3,4))
print(np.argmin(A)) #index of minmum
print(np.argmax(A)) #index of max number
print(np.mean(A))
print(np.median(A))
print(np.cumsum(A)) #cumlitive sum
print(np.diff(A)) #adjacant diff
print(np.nonzero(A))
print(np.sort(A))
print(np.transpose(A)) #the same as print(A.T)
print(np.clip(A,5,9)) #all <5 keep 5. bigger than 9, keep 9
print(np.mean(A,axis = 0))

3. 索引

import numpy as np

A = np.arange(3,15)
print(A)
print(A[3])

B = np.arange(3,15).reshape((3,4))
print(B)
print(B[2]) #output is one row
print(B[2][1]) #search row2 and column1
print(B[2,1])
print(B[2,:]) #all number in row 2
print(B[:,1]) #all numbers in col1

for row in B:
    print(row)

for column in B.T:
    print(column)

for item in B.flat: ##transfer matrix to array
    print(item)

4. copy

a = np.arange(4)
b = a
c = a
d = b
a[0] = 0.3
a
array([0, 1, 2, 3])
a[0] = 11
a
array([11,  1,  2,  3])
b is a
True
b
array([11,  1,  2,  3])
d is a
True
d[1:3] = [22,33]
d
array([11, 22, 33,  3])
b
array([11, 22, 33,  3])
c
array([11, 22, 33,  3])
b = a.copy() #deep copy
b
array([11, 22, 33,  3])
a[3] = 44
a
array([11, 22, 33, 44])
b
array([11, 22, 33,  3])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值