关于numpy:Numpy

Numpy一.什么是NumpyNumPy(Numerical Python)是一个开源的Python库,用于科学计算。它提供了一个高性能的多维数组对象和用于解决数组的工具。二.特点 高性能:NumPy 应用 C 语言编写,因而在数值计算上性能十分优越。内存高效:NumPy 数组在内存中是间断存储的,这缩小了内存碎片并进步了缓存效率。易于扩大:NumPy 提供了 easy-to-use 和 efficient 的接口,使得扩大到其余语言如 C/C++ 和 Fortran 变得容易。集成与兼容性:NumPy 与其余科学计算库如 SciPy、Matplotlib、Pandas 等严密集成。丰盛的库反对:NumPy 提供了大量的数学函数和线性代数运算,以及用于随机数生成、傅里叶变换等的高级性能。三.性能数组创立和治理:NumPy 能够创立规定数组(如一维、二维、三维数组)和非规定数组(如数组中的数组)。数学运算:NumPy 提供了根本的数学运算,如加法、减法、乘法、除法,以及更高级的数学函数,如求和、求积、求逆等。统计函数:NumPy 提供了各种统计函数,用于计算数组的均值、中位数、标准差等。逻辑运算:NumPy 反对逻辑运算,如比拟、逻辑和非、逻辑或等。形态变换:NumPy 提供了用于数组切片、索引、切片播送、重塑和转置的函数。线性代数:NumPy 提供了线性代数相干的函数,如矩阵乘法、求逆、行列式计算等。随机数生成:NumPy 的 numpy.random 模块能够生成各种散布的随机数组。傅里叶变换:NumPy 提供了疾速傅里叶变换(FFT)以及相干的傅里叶系列函数。文件输入输出:NumPy 反对将数组数据读取和保留到文件,反对多种格局,如 CSV、MAT、HDF5 等。四.总结NumPy是Python数据分析的基石,是Python科学计算的根底,其高效的数据结构和丰盛的函数库使得它成为解决数值数据的现实抉择。

March 2, 2024 · 1 min · jiezi

关于numpy:numpy-卷积核可视化

1.高斯卷积核可视化 #设置卷积核大小K_size,像素长度l K_size = 3 l = 50 pad = K_size // 2 img = np.zeros([K_size * 50, K_size * 50, 3], dtype=np.uint8) for i in range(K_size): for j in range(K_size): #绘制卷积两头地位 if i == pad and j == pad: x = i * l y = j * l img[x: x + 47, y: y + 47] = (0, 0, 100) cv2.putText(img, str(0.16), (j * l + 5, (i + 1) * l - 25), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (200, 200, 0), 2) #绘制最靠近核心的地位 elif i + j == 3 or i + j == 1: x = i * l y = j * l img[x: x + 47, y: y + 47] = (50, 0, 0) cv2.putText(img, str(0.12), (j * l + 5, (i + 1) * l - 25), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (200, 200, 0), 2) #绘制角落 else: x = i * l y = j * l img[x: x + 47, y: y + 47] = (100, 0, 0) cv2.putText(img, str(0.09), (j * l + 5, (i + 1) * l - 25), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (200, 200, 0), 2)失去图像 ...

August 28, 2023 · 1 min · jiezi

关于numpy:Python机器学习入门|系列教程

Python 机器学习入门在本教程系列中,咱们精心设计了课程 Notebook。间接!一次性与大家分享机器学习中最罕用的六个 Python 模块,包含 NumPy,Pandas,Matplotlib,Scikit-Learn,PyTorch 与 Tensorflow 的疾速上手教程。 在这里,咱们已为你事后配置好了所需的环境配置,应用咱们为你筹备的在线 Notebook:https://nb.bohrium.dp.tech,你无需放心环境配置和依赖问题,仅须要专一于学习自身。依附收费的 2 核 4G 计算资源,你能够在平台上间接运行和批改代码。 如果你: 理解根底的 Python 常识,想要入门机器学习;从事试验钻研或计算模仿,想要学习机器学习并联合到本人的钻研中;对于 AI for Science 的星辰大海感兴趣,将来想进入这个畛域;纸上得来终觉浅,觉知此事要躬行。不要犹豫,快入手跑起来吧,这就是你寻找的答案。 NumpyNumPy 是 Python 中最根底的科学计算库,为咱们提供了高性能的多维数组解决和计算性能。NumPy 教程:https://nb.bohrium.dp.tech/detail/1010 PandasPandas 是一个弱小的数据处理和剖析工具,能够帮忙咱们疾速地解决各种数据格式和数据荡涤工作。Pandas 教程:https://nb.bohrium.dp.tech/detail/1008 Matplotlib接下来是数据可视化方面,咱们将学习 Matplotlib,它是一个非常风行的绘图库,反对绘制各种高质量的二维图形和图像。 Matplotlib 教程:https://nb.bohrium.dp.tech/detail/1012 Scikit-Learn在机器学习方面,咱们将学习 Scikit-Learn,这是一个十分实用的机器学习库,蕴含了许多罕用的机器学习算法和实用工具。Scikit-Learn 教程:https://nb.bohrium.dp.tech/detail/1005 PyTorchPyTorch 是 Facebook 开发的一个开源深度学习框架,以其简洁的编程格调和动静计算图著称,让用户能够更直观地构建和调试神经网络。PyTorch 还具备很好的社区反对和生态系统,为用户提供了许多预训练模型和教程资源。PyTorch 教程:https://nb.bohrium.dp.tech/detail/1004 TensorFlowTensorFlow 是由 Google 开发的一个开源深度学习框架,它提供了丰盛的 API 和工具,其外围特点是其灵便的计算图和主动微分性能,使得用户能够轻松地实现简单数学运算和搭建简单的神经网络。TensorFlow 教程:https://nb.bohrium.dp.tech/detail/1011 以上就是本期的六篇 Notebook 机器学习入门教程。置信通过本系列教程,你能够在坚固你的 Python 根底语法之余,疾速上手应用 Python 的机器学习实际,奠定一个松软的根底。期待你与咱们分享你的播种。 欢送关注咱们的微信公众号NBHub,获取更多乏味的 Notebook 实际~感兴趣的童鞋能够查看原文:https://mp.weixin.qq.com/s?__biz=Mzg5NTk3Nzk3MQ==&mid=2247484...

June 21, 2023 · 1 min · jiezi

关于numpy:numpy-的-astype-是如何把-npuint8-是如何转成-npfloat32

在 NumPy 中,应用 astype 函数能够将数组的数据类型转换为指定的类型。具体地说,将 np.uint8 类型的数组转换为 np.float32 类型的数组,能够应用以下代码: import numpy as npuint8_array = np.array([0, 128, 255], dtype=np.uint8)float32_array = uint8_array.astype(np.float32) / 255.0print(float32_array)输入后果为: [0. 0.5019608 1. ]在这里,咱们首先创立一个 np.uint8 类型的数组 uint8_array,蕴含了三个元素:0、128 和 255。而后,咱们应用 astype 函数将其转换为 np.float32 类型的数组 float32_array。为了将数据归一化到 [0, 1] 的范畴内,咱们还须要将 float32_array 中的每个元素除以 255。

April 17, 2023 · 1 min · jiezi

关于numpy:对于numpy中的ndarray有关axis的理解

次要启发是起源这篇文章而后本人画了个图,加深了一下本人的印象,记录一下 首先了解np.ones((3,4,5))中(3,4,5)代表了啥,看代码我的了解是3示意深度为3,4示意高度为4,5示意宽度为5所以np.ones((3,4,5))大抵生成的3维数组是这样的接着看axis 如果是axis=0,那么他示意的立体就是(height,width)这个立体 如果是axis=1,那么他示意的立体就是(depth,width)这个立体 如果是axis=2,那么他示意的立体就是(deepth,height)这个立体

January 25, 2023 · 1 min · jiezi

关于numpy:居然用-Numpy-实现了一个深度学习框架

明天跟大家分享一个牛逼的开源我的项目,该我的项目只用Numpy就实现了一个深度学习框架。 它不是一个demo, 而是一个实实在在能利用的深度学习框架,它的语法与PyTorch统一,用它能够实现CNN、RNN、DNN等经典的神经网络。 该框架对正在学习深度学习的敌人十分敌对,因为它的代码量不到 2000 行,大家齐全能够通过浏览源码来深刻理解神经网络外部的细节。 如果大家读完源码本人也能做一个相似的深度学习框架,就更完满了。 1. 与 PyTorch 比照接下来,我用该框架搭建一个简略的神经网络,并与PyTorch比照。 咱们用这个神经网络来实现线性回归: 用上面的函数来生成训练样本 def synthetic_data(w, b, num_examples):     """生成y=w1*x1+w2*x2+b训练样本"""    X = np.random.normal(0, 1, (num_examples, len(w)))    y = np.dot(X, w) + b    y += np.random.normal(0, 0.01, y.shape)    return X, y.reshape((-1, 1))w = np.array([2, -3.4])b = 4.2features, labels = synthetic_data(w, b, 1000)这里咱们令w1=2、w2=-3.4、b=4.2,随机生成1000个训练样本,x1、x2寄存在features变量中,y寄存在labels变量中。 上面咱们要做的是将这些样本输出神经网络中,训练出参数w1、w2和b,咱们心愿模型训练进去的参数跟理论的w1、w2和b越靠近越好。 先用PyTorch来搭建神经网络,并训练模型。 from torch import nn, Tensorimport torch# 只有一个神经元,并且是线性神经元# 2代表有2个特色(x1、x2),1代表输入1个特色(y)net = nn.Linear(2, 1)print(f'初始w:{net.weight.data}')print(f'初始b:{net.bias.data}')# 用均方误差作为线性回归损失函数loss = nn.MSELoss()# 采纳梯度降落算法优化参数,lr是学习速率trainer = torch.optim.SGD(net.parameters(), lr=0.03)# 转 TensorX = Tensor(features)y = Tensor(labels)# 迭代次数num_epochs = 300for epoch in range(num_epochs):    l = loss(net(X), y)  # 计算损失    trainer.zero_grad()    l.backward()  # 反向流传,求导    trainer.step()  # 更新参数    l = loss(net(X), y) # 参数更新后,再次计算损失    print(f'epoch {epoch + 1}, loss {round(float(l.data), 8)}')print(f'模型训练后的w:{net.weight.data}')print(f'模型训练后的b:{net.bias.data}')这里咱们用的是最简略的神经网络,只有一个神经元。 代码也比较简单,每行都做了正文。 输入的后果也是合乎咱们的预期,输入的损失如下: epoch 1, loss 33.65092468epoch 2, loss 29.78330231epoch 3, loss 26.36030769...epoch 298, loss 0.0001022epoch 299, loss 0.0001022epoch 300, loss 0.0001022前几轮损失比拟大,等迭代300次后,损失曾经十分小了。再看训练进去的参数: 初始w:tensor([[0.5753, 0.6624]])初始b:tensor([-0.5713])...模型训练后的w:tensor([[ 1.9995, -3.4001]])模型训练后的b:tensor([4.1998])能够看到,经过训练后,模型的参数与设定的参数也是十分靠近的。 上面,咱们再用明天介绍的框架再来实现一遍。 from pydynet import nn, Tensorfrom pydynet.optimizer import SGDnet = nn.Linear(2, 1)print(f'初始w:{net.weight.data}')print(f'初始b:{net.bias.data}')loss = nn.MSELoss()trainer = SGD(net.parameters(), lr=0.03)X = Tensor(features)y = Tensor(labels)num_epochs = 300for epoch in range(num_epochs):    l = loss(net(X), y)  # 计算损失    trainer.zero_grad()    l.backward()  # 反向流传,求导    trainer.step()  # 更新参数    l = loss(net(X), y)  # 参数更新后,再次计算损失    print(f'epoch {epoch + 1}, loss {round(float(l.data), 8)}')    print(f'模型训练后的w:{net.weight.data}')print(f'模型训练后的b:{net.bias.data}')代码从pydynet目录引入的,能够看到,用法跟PyTorch简直是截然不同,输入参数如下: 初始w:[[-0.25983338] [-0.29252936]]初始b:[-0.65241649]...模型训练后的w:[[ 2.00030734] [-3.39951581]]模型训练后的b:[4.20060585]训练进去的后果也是合乎预期的。 2. 我的项目构造pydynet我的项目架构如下: 目前只有 5 个 Python源文件,不到 2000 行代码。 第一大节咱们只实现最简略的神经网络,其余经典的神经网络,也有源码,大家能够自行查阅 我的项目地址:https://github.com/Kaslanaria... 我十分喜爱这个我的项目,拜服这个我的项目的作者。如果你也正好在学习人工智能,强烈建议学习学习这个我的项目。 以上就是本次分享的所有内容,如果你感觉文章还不错,欢送关注公众号:Python编程学习圈,每日干货分享,发送“J”还可支付大量学习材料,内容笼罩Python电子书、教程、数据库编程、Django,爬虫,云计算等等。或是返回编程学习网,理解更多编程技术常识。

July 14, 2022 · 1 min · jiezi

关于numpy:学习神经网络minibatch

1.numpy的切片X[m,n],示意X的第m维中的第n段数据。也能够按切片写法:X[m:n,k:v],第一维从m到n-1,第二维取从k到v-1X[:,n],示意第一维的m全副取,第二维取第n段数据,如果是矩阵,就是取第n列。 X[:,list],第二维依照list外面的数字索引取 import numpy as npnp.random.seed(1)X = np.random.randn(5,3)print(X)X是5行3列矩阵,后果: [[ 1.62434536 -0.61175641 -0.52817175] [-1.07296862 0.86540763 -2.3015387 ] [ 1.74481176 -0.7612069 0.3190391 ] [-0.24937038 1.46210794 -2.06014071] [-0.3224172 -0.38405435 1.13376944]]随机失去一个列表: np.random.seed(1)permutation = list(np.random.permutation(3))print(permutation)permutation列表是:[0, 2, 1] 按X[:,list]形式来取数据,也就是第一维全副取,第二维依照list的索引来取: shuffed_X = X[:,permutation]print(shuffed_X)后果是: [[ 1.62434536 -0.52817175 -0.61175641] [-1.07296862 -2.3015387 0.86540763] [ 1.74481176 0.3190391 -0.7612069 ] [-0.24937038 -2.06014071 1.46210794] [-0.3224172 1.13376944 -0.38405435]]因为这里list其实是从0-2的,其维度与n一样,实际上就是随机地把列进行打乱。

April 20, 2022 · 1 min · jiezi

关于numpy:numpy-官网文章翻译2

老手根底欢送来到 NumPy 的世界NumPy 是一个Python 开源库,简直能够利用于所有的迷信和工程畛域。在Python 中,它是解决数字型数据的通用规范,也是迷信 Python 与PyData 生态系统的外围。从初学者到经验丰富的钻研人员,只有是从事新进的迷信和工业钻研畛域,都是NumPy用户。Pandas、SCIPy、Matplotlib、scikit-learn、scikit-image 以及其余须要数据迷信包都含有 numpy 的 API 接口。 NumPy 库包含多种数组和矩阵数据结构。提供了一种均一的 n-维数组对象 ndarray及多种相应无效的操作方法。NumPy 在数组构造上能够用于操作多种数学计算。同时也为 Python 提供了一种无效的数据结构,以确保数组和矩阵无效计算,并为高水平数学方法提供了大量能够操作数组和矩阵的库。 装置如果你曾经装置 Python 的话,依照以下办法装置 conda install numpypip install numpy如果没有装置 Python,能够应用 anaconda,它是最简略的办法,且具备以下劣势:你不须要放心别离装置 NumPy 或者其余的 用于数据分析的Python 包,如 pandas、Scikit-Learn 等,conda 都会解决好 引入 NumPyimport numpy as np“np”是 numpy 的缩写,在应用numpy 时更加易读。 Python 列表与 NumPy 数组区别NumPy 提供了多种创立数组和操作数组数组的办法。Python 列表是一个列表中能够蕴含不同的数据类型,而数组的所有元素必须是统一的。如果数组的数据类型不统一,那么计算效率会大大降低。 应用 NumPy 的理由比起列表,数组有以下劣势 构造更加严密运行更加迅速占用内存少:数组存储数据应用的内存更少,并提供了一个指定数据类型的机制,这样能够更加优化代码使用方便数组是什么数组是NumPy 库的外围数据结构。数组是由值组成的网格构造,蕴含原始数据的信息、如何定位元素以及如何解释元素。数组有一个元素网格,能够以多种形式索引数据。这些元素的数据类型都统一,称为dtype 。 检索数组的数据类型有:非负整数的元素、布尔值、数组和整数。 数组的 rank指的是其维度的数量;数组的 shape是一个形容了每个维度大小的整数元组。 能够应用 Python 列表的形式初始化数组,应用巢式列表能够初始化二维及更高维度的数组 a = np.array([1, 2, 3, 4, 5, 6])a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])咱们能够应用中括号[]拜访数组中的元素,留神索引从 0 开始。 ...

January 18, 2022 · 7 min · jiezi

关于numpy:numpy-官网文章翻译

官网地址 什么是 numpynumpy 是 Python 的一个科学计算包。提供了多种array对象、衍生对象(masked arrays 和 matrices)、及其对其日常疾速操作,包含数学、逻辑、形态操作、分类、抉择、I/O、离散傅里叶(discrete Fourier transforms)、根本线性代数、根本数据操作、随机墨迹等。numpy 包的外围是ndarray,他分装了n-维 array 对象(每个维度的数据类型统一),这使得各种操作都在编译好的代码中执行,从而进步了性能。 NumPyarray对象 与 Python 规范序列区别: NumPy 对象在创立时有一个固定的大小,而 Python 的 list 没有。扭转 ndarray 的大小会删除原来对象,创立一个新的对象NumPy所有数据类型是统一的,这样在内存中占用的大小才是统一的。例外:能够有对象数组(Python,包含 NumPy),容许不同大小元素的数组。NumPy 对象更容易对于大量数据进行高级数学和其余类型操作。相较于 Python 内置序列,NumPy 操作执行效率更高,代码更少。越来越多的迷信和数学 Python 包会应用 NumPy 包,只管它们反对 Python 内置序列,但在操作之前都会转换成 NumPy 对象。换言之,要想无效的应用当初的迷信\数学 Python 包,只理解 Python 内置序列是不够的,咱们也要理解 NumPy 对象的应用。科学计算的要害就是序列大小和速度。举个简略例子,在一个一维的序列中,每个元素要与另一个长度雷同的序列相应的元素做乘积,咱们能够迭代每个元素。 c = []for i in range(len(a)): c.append(a[i]*b[i])这个过程会输入正确答案,但如果列表 a 和 b 每个元素都是几百万,那咱们就会为 Python 低效的循环付出代价。c 语言能够更快的实现雷同工作(咱们假如不去做变量申明、初始化和内存调配): for(i = 0; i < rows; i++):{ c[i] = a[i]*b[i]}这解决了解释Python代码和操作Python对象所波及的所有开销,但就义了Python编码的益处。此外,随着数据维度减少,工作量也减少,如在 2 维数组中,c 语言编码为 ...

January 14, 2022 · 4 min · jiezi

关于numpy:18-个-实用的Numpy-代码片段总结

Numpy 长期以来始终是 Python 开发人员进行数组操作的通用抉择,它是基于C语言构建的这使得它成为执行数组操作的疾速和牢靠的抉择,并且它曾经成为机器学习和数据迷信必备的根底库。 在本文中,我整顿了一些 NumPy 代码的片段,这些代码片段都是在日常开发中常常用到的。 1、创立数组 import numpy as npnew_array = np.array([1,2,3])print(new_array)# Output[1 2 3]2、获取 Numpy 数组的形态、维度和大小 # shapeprint(new_array.shape)# dimensionsprint(new_array.ndim)# sizeprint(new_array.size)# Output(3,)133、查看Numpy数组中元素的类型 array = np.arange(0,10,1)print(array.dtype)# Outputint644、获取数组中每个元素的占用字节大小 array = np.array([1,2])print(array.itemsize)# Output85、创立时指定数组的类型 array = np.array([[1,2], [3,4]], dtype=complex)array# Outputarray([[1.+0.j, 2.+0.j], [3.+0.j, 4.+0.j]])6、应用占位符创立数组 # 全零数组array = np.zeros((3,4))print(array)print("---")# 全1数组array = np.ones((1,2))print(array)print("---")# shape (2,3)的空数组,随机产生数据array = np.empty((2,3))print(array)print("---")# Output[[0. 0. 0. 0.] [0. 0. 0. 0.] [0. 0. 0. 0.]]---[[1. 1.]]---[[4.67280967e-310 0.00000000e+000 0.00000000e+000] [0.00000000e+000 0.00000000e+000 0.00000000e+000]]---7、创立序列 ...

December 15, 2021 · 3 min · jiezi

关于numpy:NumPy之ndarray多维数组操作

简介NumPy一个十分重要的作用就是能够进行多维数组的操作,多维数组对象也叫做ndarray。咱们能够在ndarray的根底上进行一系列简单的数学运算。 本文将会介绍一些根本常见的ndarray操作,大家能够在数据分析中应用。 创立ndarray创立ndarray有很多种办法,咱们能够应用np.random来随机生成数据: import numpy as np# Generate some random datadata = np.random.randn(2, 3)dataarray([[ 0.0929, 0.2817, 0.769 ], [ 1.2464, 1.0072, -1.2962]])除了随机创立之外,还能够从list中创立: data1 = [6, 7.5, 8, 0, 1]arr1 = np.array(data1)array([6. , 7.5, 8. , 0. , 1. ])从list中创立多维数组: data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]arr2 = np.array(data2)array([[1, 2, 3, 4], [5, 6, 7, 8]])应用np.zeros创立初始值为0的数组: np.zeros(10)array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])创立2维数组: np.zeros((3, 6))array([[0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0.]])应用empty创立3维数组: ...

May 19, 2021 · 5 min · jiezi

关于numpy:NumPy之理解广播

简介播送形容的是NumPy如何计算不同形态的数组之间的运算。如果是较大的矩阵和较小的矩阵进行运算的话,较小的矩阵就会被播送,从而保障运算的正确进行。 本文将会以具体的例子具体解说NumPy中播送的应用。 根底播送失常状况下,两个数组须要进行运算,那么每个数组的对象都须要有一个绝对应的值进行计算才能够。比方上面的例子: a = np.array([1.0, 2.0, 3.0])b = np.array([2.0, 2.0, 2.0])a * barray([ 2., 4., 6.])然而如果应用Numpy的播送个性,那么就不必须元素的个数精确对应。 比方,咱们能够讲一个数组乘以常量: a = np.array([1.0, 2.0, 3.0])>>> b = 2.0>>> a * barray([ 2., 4., 6.])上面的例子和下面的例子是等价的,Numpy会主动将b进行扩大。 NumPy足够聪慧,能够应用原始标量值而无需理论制作正本,从而使播送操作尽可能地节俭内存并进步计算效率。 第二个示例中的代码比第一个示例中的代码更无效,因为播送在乘法过程中挪动的内存更少(b是标量而不是数组)。 播送规定如果两个数组操作,NumPy会对两个数组的对象进行比拟,从最初一个维度开始,如果两个数组的维度满足上面的两个条件,咱们就认为这两个数组是兼容的,能够进行运算: 维度中的元素个数是雷同的其中一个维数是1如果下面的两个条件不满足的话,就会抛出异样: ValueError: operands could not be broadcast together。 维度中的元素个数是雷同的,并不意味着要求两个数组具备雷同的维度个数。 比方示意色彩的256x256x3 数组,能够和一个一维的3个元素的数组相乘: Image (3d array): 256 x 256 x 3Scale (1d array): 3Result (3d array): 256 x 256 x 3相乘的时候,维度中元素个数是1的会被拉伸到和另外一个维度中的元素个数统一: A (4d array): 8 x 1 x 6 x 1B (3d array): 7 x 1 x 5Result (4d array): 8 x 7 x 6 x 5下面的例子中,第二维的1被拉伸到7,第三维的1被拉伸到6,第四维的1被拉伸到5。 ...

May 12, 2021 · 2 min · jiezi

关于numpy:NumPy之结构化数组详解

简介一般的数组就是数组中寄存了同一类型的对象。而结构化数组是指数组中寄存不同对象的格局。 明天咱们来具体探讨一下NumPy中的结构化数组。 结构化数组中的字段field因为结构化数组中蕴含了不同类型的对象,所以每一个对象类型都被称为一个field。 每个field都有3局部,别离是:string类型的name,任何无效dtype类型的type,还有一个可选的title。 看一个应用filed构建dtype的例子: In [165]: np.dtype([('name', 'U10'), ('age', 'i4'), ('weight', 'f4')])Out[165]: dtype([('name', '<U10'), ('age', '<i4'), ('weight', '<f4')])咱们能够应用下面的dtype类型来构建一个新的数组: In [166]: x = np.array([('Rex', 9, 81.0), ('Fido', 3, 27.0)], ...: dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')]) ...:In [167]: xOut[167]:array([('Rex', 9, 81.), ('Fido', 3, 27.)], dtype=[('name', '<U10'), ('age', '<i4'), ('weight', '<f4')])x是一个1维数组,每个元素都蕴含三个字段,name,age和weight。并且别离指定了他们的数据类型。 能够通过index来拜访一行数据: In [168]: x[1]Out[168]: ('Fido', 3, 27.)也能够通过name来拜访一列数据 : In [170]: x['name']Out[170]: array(['Rex', 'Fido'], dtype='<U10')还能够给所有的列对立赋值: In [171]: x['age']Out[171]: array([9, 3], dtype=int32)In [172]: x['age'] = 10In [173]: xOut[173]:array([('Rex', 10, 81.), ('Fido', 10, 27.)], dtype=[('name', '<U10'), ('age', '<i4'), ('weight', '<f4')])结构化数据类型下面的例子让咱们对结构化数据类型有了一个根本的意识。结构化数据类型就是一系列的filed的汇合。 ...

May 6, 2021 · 4 min · jiezi

关于数据科学:ApacheCN-数据科学译文集-20210313-更新

新增了五个教程: Python 和 Jupyter 机器学习入门 零、前言一、Jupyter 基础知识二、数据清理和高级机器学习三、Web 爬取和交互式可视化Python 数据迷信和机器学习实际指南 零、前言一、入门二、统计和概率回顾和 Python 实际三、Matplotlib 和高级概率概念四、预测模型五、Python 机器学习六、举荐零碎七、更多数据挖掘和机器学习技术八、解决实在数据九、Apache Spark-大数据机器学习十、测试与实验设计精通 Python 数据迷信 零、前言一、原始数据入门二、推断统计三、海底捞针四、通过高级可视化感知数据五、发现机器学习六、应用线性回归执行预测七、预计事件的可能性八、应用协同过滤生成倡议九、应用集成模型扩大边界十、通过 K 均值聚类利用细分十一、通过文本开掘剖析非结构化数据十二、在大数据世界中利用 PythonPython 数据迷信本质论 零、前言一、第一步二、数据整顿三、数据管道四、机器学习五、可视化,见解和后果六、社交网络分析七、超过根底的深度学习八、大数据和 Spark九、增强您的 Python 根底数据迷信思维 零、前言一、开发人员对数据迷信的认识二、应用 Jupyter 笔记本和 PixieDust 的大规模数据迷信三、PixieApp 深刻理解四、应用 PixieGateway 服务器将 PixieApp 部署到 Web五、最佳实际和高级 PixieDust 概念六、TensorFlow 图像识别七、大数据和 Twitter 情感剖析八、金融工夫序列剖析和预测九、应用图的美国国内航班数据分析十、最终思维十一、附录 A:PixieApp 疾速参考下载Dockerdocker pull apachecn0/apachecn-cv-zhdocker run -tid -p <port>:80 apachecn0/apachecn-cv-zh# 拜访 http://localhost:{port} PYPIpip install apachecn-cv-zhapachecn-cv-zh <port># 拜访 http://localhost:{port} NPMnpm install -g apachecn-cv-zhapachecn-cv-zh <port># 拜访 http://localhost:{port} 奉献指南本我的项目须要校对,欢送大家提交 Pull Request。 ...

March 13, 2021 · 1 min · jiezi

关于numpy:ApacheCN-数据科学译文集-20208

协定:CC BY-NC-SA 4.0不要放心本人的形象,只关怀如何实现目标。——《准则》,生存准则 2.3.c 在线浏览ApacheCN 面试求职交换群 724187166ApacheCN 学习资源目录TutorialsPoint NumPy 教程NumPy 秘籍中文第二版 零、前言一、应用 IPython二、高级索引和数组概念三、把握罕用函数四、将 NumPy 与世界的其余中央连贯五、音频和图像处理六、非凡数组和通用函数七、性能剖析和调试八、质量保证九、应用 Cython 减速代码十、Scikits 的乐趣十一、最新最强的 NumPy十二、应用 NumPy 进行探索性和预测性数据分析NumPy 初学者指南中文第三版 零、前言一、NumPy 疾速入门二、从 NumPy 基本原理开始三、相熟罕用函数四、为您带来便当的便当函数五、应用矩阵和 ufunc六、深刻摸索 NumPy 模块七、理解非凡例程八、通过测试确保品质九、matplotlib 绘图十、当 NumPy 不够用时 - SciPy 及更多十一、玩转 Pygame附录 A:小测验答案附录 B:其余在线资源附录 C:NumPy 函数的参考NumPy 基础知识 零、前言一、NumPy 简介二、NumPy ndarray对象三、应用 NumPy 数组四、NumPy 外围和子模块五、NumPy 中的线性代数六、NumPy 中的傅立叶剖析七、构建和散发 NumPy 代码八、应用 Cython 减速 NumPy九、NumPy C-API 简介十、扩大浏览精通 NumPy 数值剖析 零、前言一、应用 NumPy 数组二、NumPy 线性代数三、应用 NumPy 统计函数对波士顿住房数据进行探索性数据分析四、应用线性回归预测房价五、应用 NumPy 对零售分销商的客户进行聚类六、NumPy,SciPy,Pandas 和 Scikit-Learn七、高级 NumPy八、高性能数值计算库概述九、性能基准NumPy 数组学习手册 ...

August 2, 2020 · 1 min · jiezi

关于numpy:ApacheCN-数据科学译文集-20208

协定:CC BY-NC-SA 4.0不要放心本人的形象,只关怀如何实现目标。——《准则》,生存准则 2.3.c 在线浏览ApacheCN 面试求职交换群 724187166ApacheCN 学习资源目录TutorialsPoint NumPy 教程NumPy 秘籍中文第二版 零、前言一、应用 IPython二、高级索引和数组概念三、把握罕用函数四、将 NumPy 与世界的其余中央连贯五、音频和图像处理六、非凡数组和通用函数七、性能剖析和调试八、质量保证九、应用 Cython 减速代码十、Scikits 的乐趣十一、最新最强的 NumPy十二、应用 NumPy 进行探索性和预测性数据分析NumPy 初学者指南中文第三版 零、前言一、NumPy 疾速入门二、从 NumPy 基本原理开始三、相熟罕用函数四、为您带来便当的便当函数五、应用矩阵和 ufunc六、深刻摸索 NumPy 模块七、理解非凡例程八、通过测试确保品质九、matplotlib 绘图十、当 NumPy 不够用时 - SciPy 及更多十一、玩转 Pygame附录 A:小测验答案附录 B:其余在线资源附录 C:NumPy 函数的参考NumPy 基础知识 零、前言一、NumPy 简介二、NumPy ndarray对象三、应用 NumPy 数组四、NumPy 外围和子模块五、NumPy 中的线性代数六、NumPy 中的傅立叶剖析七、构建和散发 NumPy 代码八、应用 Cython 减速 NumPy九、NumPy C-API 简介十、扩大浏览精通 NumPy 数值剖析 零、前言一、应用 NumPy 数组二、NumPy 线性代数三、应用 NumPy 统计函数对波士顿住房数据进行探索性数据分析四、应用线性回归预测房价五、应用 NumPy 对零售分销商的客户进行聚类六、NumPy,SciPy,Pandas 和 Scikit-Learn七、高级 NumPy八、高性能数值计算库概述九、性能基准NumPy 数组学习手册 ...

August 2, 2020 · 1 min · jiezi

关于numpy:NumPy-数组学习手册翻译完成

原文:Learning NumPy Array协定:CC BY-NC-SA 4.0 欢送任何人参加和欠缺:一个人能够走的很快,然而一群人却能够走的更远。 在线浏览ApacheCN 面试求职交换群 724187166ApacheCN 学习资源目录NumPy 数组学习手册零、前言一、NumPy 入门二、NumPy 根底三、应用 NumPy 的根本数据分析四、应用 NumPy 的简略预测性剖析五、信号处理技术六、性能剖析,调试和测试七、Python 迷信生态系统奉献指南本我的项目须要校对,欢送大家提交 Pull Request。 请您怯懦地去翻译和改良翻译。尽管咱们谋求卓越,但咱们并不要求您做到美中不足,因而请不要放心因为翻译上犯错——在大部分状况下,咱们的服务器曾经记录所有的翻译,因而您不用放心会因为您的失误受到无法挽回的毁坏。(改编自维基百科)联系方式负责人飞龙: 562826179其余在咱们的 apachecn/apachecn-ds-zh github 上提 issue.发邮件到 Email: apachecn@163.com.在咱们的 组织学习交换群 中分割群主/管理员即可.资助咱们通过平台自带的打赏性能,或点击这里。

July 26, 2020 · 1 min · jiezi

关于numpy:NumPy-基础知识翻译完成

原文:Numpy Essentials协定:CC BY-NC-SA 4.0 欢送任何人参加和欠缺:一个人能够走的很快,然而一群人却能够走的更远。 在线浏览ApacheCN 面试求职交换群 724187166ApacheCN 学习资源目录NumPy 基础知识零、前言一、NumPy 简介二、NumPy ndarray对象三、应用 NumPy 数组四、NumPy 外围和子模块五、NumPy 中的线性代数六、NumPy 中的傅立叶剖析七、构建和散发 NumPy 代码八、应用 Cython 减速 NumPy九、NumPy C-API 简介十、扩大浏览奉献指南本我的项目须要校对,欢送大家提交 Pull Request。 请您怯懦地去翻译和改良翻译。尽管咱们谋求卓越,但咱们并不要求您做到美中不足,因而请不要放心因为翻译上犯错——在大部分状况下,咱们的服务器曾经记录所有的翻译,因而您不用放心会因为您的失误受到无法挽回的毁坏。(改编自维基百科)联系方式负责人飞龙: 562826179其余在咱们的 apachecn/apachecn-ds-zh github 上提 issue.发邮件到 Email: apachecn@163.com.在咱们的 组织学习交换群 中分割群主/管理员即可.资助咱们通过平台自带的打赏性能,或点击这里。

July 24, 2020 · 1 min · jiezi

关于numpy:NumPy-基础知识翻译完成

原文:Numpy Essentials协定:CC BY-NC-SA 4.0 欢送任何人参加和欠缺:一个人能够走的很快,然而一群人却能够走的更远。 在线浏览ApacheCN 面试求职交换群 724187166ApacheCN 学习资源目录NumPy 基础知识零、前言一、NumPy 简介二、NumPy ndarray对象三、应用 NumPy 数组四、NumPy 外围和子模块五、NumPy 中的线性代数六、NumPy 中的傅立叶剖析七、构建和散发 NumPy 代码八、应用 Cython 减速 NumPy九、NumPy C-API 简介十、扩大浏览奉献指南本我的项目须要校对,欢送大家提交 Pull Request。 请您怯懦地去翻译和改良翻译。尽管咱们谋求卓越,但咱们并不要求您做到美中不足,因而请不要放心因为翻译上犯错——在大部分状况下,咱们的服务器曾经记录所有的翻译,因而您不用放心会因为您的失误受到无法挽回的毁坏。(改编自维基百科)联系方式负责人飞龙: 562826179其余在咱们的 apachecn/apachecn-ds-zh github 上提 issue.发邮件到 Email: apachecn@163.com.在咱们的 组织学习交换群 中分割群主/管理员即可.资助咱们通过平台自带的打赏性能,或点击这里。

July 24, 2020 · 1 min · jiezi