numpy 基础
numpy 基础
阿豪boy 发表于6个月前
numpy 基础
  • 发表于 6个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

import numpy as np

#创建矩阵并查看属性,设置数据类型
arr = np.array(
    [[1, 2, 3],
     [4, 5, 6]],dtype=np.int64
)
print(arr,type(arr))
print('dim :',arr.ndim)
print('shape:',arr.shape)
print('size:',arr.size)
print('type:',arr.dtype)


arr = np.zeros(
[3],dtype=np.float64
)
print(arr,type(arr))
print('dim :',arr.ndim)
print('shape:',arr.shape)
print('size:',arr.size)
print('type:',arr.dtype)


arr = np.arange(10,dtype=np.float64
).reshape([2,5]
)
print(arr,type(arr))
print('dim :',arr.ndim)
print('shape:',arr.shape)
print('size:',arr.size)
print('type:',arr.dtype)

#1到10 分10段
arr = np.linspace(1,10,10)
print(arr,type(arr))
print('dim :',arr.ndim)
print('shape:',arr.shape)
print('size:',arr.size)
print('type:',arr.dtype)


a = np.arange(1,10)
print(a)
print(a*3)
print(a**3)

#返回一个bool型列表
print(a<5)
print(a==5)


a = np.array([[1,2],[3,4]])
b = np.array([[1,2],[3,4]])
#矩阵元素对应位置直接逐个相乘
print(a*b)
#矩阵乘法,三种写法
print(np.matmul(a,b))
print(a.dot(b))
print(np.dot(a,b))


#随机数生成,矩阵处理
a = np.random.random([2,4])
print(a)
print(np.max(a))
print(np.min(a))
print(np.sum(a))

#在列中执行操作
print(np.max(a,axis=0))
print(np.min(a,axis=0))
print(np.sum(a,axis=0))

#在行中执行操作
print(np.max(a,axis=1))
print(np.min(a,axis=1))
print(np.sum(a,axis=1))


a = np.arange(1,13).reshape([3,4])
print(a)
print(np.argmax(a))
print(np.argmin(a))
#平均值
print(np.mean(a),a.mean())
#中位数
print(np.median(a))
#累加和
print(np.cumsum(a))
#累差,会少一行和一列
print(np.diff(a))

#返回非0的坐标元组
print(np.nonzero(a)[0],np.nonzero(a)[1])

#排序
print(np.sort(a))

#转置
print(a.T)

#截断,小于5的变为5,大于9的变为9
print(np.clip(a,5,9))


 

 

import numpy as np

a = np.arange(1, 13)
print(a)
print(a[3])

a = a.reshape([3, 4])

print(a)
# 第2行,,0基
print(a[2])
print(a[0, 0], a[1][1])
# 第1行所有
print(a[1, :])
# 第1列所有
print(a[:, 1])
# 第1行2到4
print(a[1, 2:5])

# 迭代行
for row in a:
    print(row)

# 迭代列
for col in a.T:
    print(col)

# 变为一行,a.flat是a的一维数组形式
print(a.flat)
print(a.flatten())
for item in a.flat:
    print(item)

# 竖直合并
'''
[[1 1 1]
 [2 2 2]]
[1 1 1 2 2 2]
'''
a = np.array([1, 1, 1])
b = np.array([2, 2, 2])
print(np.vstack([a, b]))
# 水平合并
print(np.hstack([a, b]))

a = np.arange(1, 4)
# 一维的转置不改变维度
print(a.shape)
print(a.T.shape)
# 加一个维度
print(a[:, np.newaxis])
print(a[np.newaxis, :])

# 多个合并
a = np.arange(1, 5)[:, np.newaxis]
b = np.arange(5, 9)[:, np.newaxis]
print(np.hstack([a, b]))
# 多个合并,可以指定维度,二维是纵向或横向
print(np.concatenate([a, b, b, a], axis=1))


a = np.arange(12).reshape([3,4])
print(a)
#纵向分成两个矩阵
print(np.split(a,2,axis=1))
#纵向分三个
print(np.split(a,3,axis=0))
#不均等分割,需要使用另一个函数
print(np.array_split(a,2,axis=0))

#横向和纵向分割另一种简单做法
print(np.vsplit(a,3))
print(np.hsplit(a,2))


#赋值,类似指针赋值
a = np.arange(4)
print(a)
b = a
c = b
print(a)
print(b)
print(c)
a[0]=11
b[1]=22
print(a)
print(b)
print(c)


#copy
#赋值,类似指针赋值
a = np.arange(4)
print(a)
b = a.copy()
c = b.copy()
print(a)
print(b)
print(c)
a[0]=11
b[1]=22
print(a)
print(b)
print(c)

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 10
博文 634
码字总数 480730
×
阿豪boy
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: