NumPy 初步使用

发布于 2022-08-02 14:50:15 字数 1676 浏览 173 评论 0

创建 ndarray 对象:

import numpy as np
np.array([1,2,3,4])
np.array([[1,2,3,4],[5,6,7,8]])

转换为 list

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

获取 darray 对象的基本信息:维数(ndim)、行列信息(shape)、数据存储类型(dtype)

arr = np.array([[1,2,3,4],[5,6,7,8]])
print(arr.ndim)
print(arr.shape)
print(arr.dtype)

设置数据存储类型

np.array([1,2,3,4], dtype=np.int32)
np.arrat([1.2,1.3,1.4], dtype=np.float64)

创建特殊 ndarray 对象:全0(zeros)、全1(ones)、随机值(empty),参数是形状

np.zeros(8)
np.ones((2,3))
np.empty((3,4))

指定范围创建 ndarray 对象(arange)

arr1 = np.arange(1,8,2)
# [1 3 5 7]

创建网格数据(linspace)

np.linspace(0, 80, 5)
# [0 20 40 60 80]

修改形状(reshape)

np.arange(0,12).reshape((3,4))
# [[ 0,  1,  2,  3],
#  [ 4,  5,  6,  7],
#  [ 8,  9, 10, 11]]

展平,转化为一维数组(flatten)

a = np.arange(12).shape(3,4)
a.flatten()

矩阵转置(transpose)

a = np.arange(12).reshape(3,4)
a.transpose()
# 等同于
a.T

数学运算(+ - * /)、点乘(矩阵乘法)、三角函数

a = np.arange(12).reshape(3,4)
b = np.arange(12).reshape(4,3)
a + 1
a + b 
a - 1
a - b
a * 2
a * b
a / 2
a / b

# 平方
arr ** 2

# 点乘
np.dot(a, b)
a.dot(b)
np.sin(a)

深浅复制,赋值操作为浅复制,使用 clone 方法深复制:

a = np.arange(12)
b = a
c = a.clone()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

只为守护你

暂无简介

0 文章
0 评论
698 人气
更多

推荐作者

linfzu01

文章 0 评论 0

可遇━不可求

文章 0 评论 0

枕梦

文章 0 评论 0

qq_3LFa8Q

文章 0 评论 0

JP

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文