python numpy库--学习

简介: python numpy库--学习

import numpy as np

创建一个长度为10的空向量:



Z = np.zeros(10)
print(Z)


如何找到任何一个数组的内存大小



Z = np.zeros((10,10))
print("%d bytes" % (Z.size * Z.itemsize))


创建一个值域范围从10到49的向量



# Z = np.arange(10,50)
# print(Z)


反转一个向量(第一个元素变为最后一个)



# Z = np.arange(50)
# Z = Z[::-1]
# print(Z)


创建一个 3x3 并且值从0到8的矩阵



# Z = np.arange(9).reshape(3,3)
# print(Z)


找到数组[1,2,0,0,4,0]中非0元素的位置索引



nz = np.nonzero([1,2,0,0,4,0])


创建一个 3x3 的单位矩阵



# Z = np.eye(3)


创建一个二维数组,其中边界值为1,其余值为0



# Z = np.ones((10,10))
# Z[1:-1,1:-1] = 0


对于一个存在在数组,如何添加一个用0填充的边界



# Z = np.ones((5,5))
# Z = np.pad(Z, pad_width=1, mode='constant', constant_values=0)
# print(Z)


对一个5x5的随机矩阵做归一化



# Z = np.random.random((5,5))
# Zmax, Zmin = Z.max(), Z.min()
# Z = (Z - Zmin)/(Zmax - Zmin)
# print(Z)


创建一个将颜色描述为(RGBA)四个无符号字节的自定义dtype



# color = np.dtype([("r", np.ubyte, 1),
#                   ("g", np.ubyte, 1),
#                   ("b", np.ubyte, 1),
#                   ("a", np.ubyte, 1)])
# color


一个5x3的矩阵与一个3x2的矩阵相乘,实矩阵乘积是什么



# Z = np.dot(np.ones((5,3)), np.ones((3,2)))
# print(Z)


给定一个一维数组,对其在3到8之间的所有元素取反



# Z = np.arange(11)
# Z[(3 < Z) & (Z <= 8)] *= -1
# print(Z)



如何从零位对浮点数组做舍入



# Z = np.random.uniform(-10,+10,10)
# print (np.copysign(np.ceil(np.abs(Z)), Z))


如何找到两个数组中的共同元素



# Z1 = np.random.randint(0,10,10)
# Z2 = np.random.randint(0,10,10)
# print(np.intersect1d(Z1,Z2))


如何得到昨天,今天,明天的日期



# yesterday = np.datetime64('today', 'D') - np.timedelta64(1, 'D')
# today     = np.datetime64('today', 'D')
# tomorrow  = np.datetime64('today', 'D') + np.timedelta64(1, 'D')
# print ("Yesterday is " + str(yesterday))
# print ("Today is " + str(today))
# print ("Tomorrow is "+ str(tomorrow))


创建一个长度为10的随机向量,其值域范围从0到1,但是不包括0和1



# Z = np.linspace(0,1,11,endpoint=False)[1:]
# print (Z)


将笛卡尔坐标下的一个10x2的矩阵转换为极坐标形式



# Z = np.random.random((10,2))
# X,Y = Z[:,0], Z[:,1]
# R = np.sqrt(X**2+Y**2)
# T = np.arctan2(Y,X)
# print (R)
# print (T)


创建一个长度为10的向量,并将向量中最大值替换为1



# Z = np.random.random(10)
# Z[Z.argmax()] = 0
# print (Z)


如何将32位的浮点数(float)转换为对应的整数(integer)



# Z = np.arange(10, dtype=np.int32)
# Z = Z.astype(np.float32, copy=False)
# print (Z)


减去一个矩阵中的每一行的平均值



 # X = np.random.rand(5, 10)
# # Recent versions of numpy
# Y = X - X.mean(axis=1, keepdims=True)
# print(Y)


根据索引列表(I),如何将向量(X)的元素累加到数组(F)



# X = [1,2,3,4,5,6]
# I = [1,3,9,3,4,1]
# F = np.bincount(I,X)
# print (F)


考虑一个维度(5,5,3)的数组,如何将其与一个(5,5)的数组相乘



# A = np.ones((5,5,3))
# B = 2*np.ones((5,5))
# print (A * B[:,:,None])


如何通过滑动窗口计算一个数组的平均数



# def moving_average(a, n=3) :
#     ret = np.cumsum(a, dtype=float)
#     ret[n:] = ret[n:] - ret[:-n]
#     return ret[n - 1:] / n
# Z = np.arange(20)
# print(moving_average(Z, n=3))


如何对布尔值取反,或者原位(in-place)改变浮点数的符号(sign)



# Z = np.random.randint(0,2,100)
# np.logical_not(Z, out=Z)


如何找到一个数组中出现频率最高的值



# Z = np.random.randint(0,10,50)
# print (np.bincount(Z).argmax())


对于一个一维数组X,计算它boostrapped之后的95%置信区间的平均值



# X = np.random.randn(100) # random 1D array
# N = 1000 # number of bootstrap samples
# idx = np.random.randint(0, X.size, (N, X.size))
# means = X[idx].mean(axis=1)
# confint = np.percentile(means, [2.5, 97.5])
# print (confint)


相关文章
|
12天前
|
调度 开发者 Python
Python中的异步编程:理解asyncio库
在Python的世界里,异步编程是一种高效处理I/O密集型任务的方法。本文将深入探讨Python的asyncio库,它是实现异步编程的核心。我们将从asyncio的基本概念出发,逐步解析事件循环、协程、任务和期货的概念,并通过实例展示如何使用asyncio来编写异步代码。不同于传统的同步编程,异步编程能够让程序在等待I/O操作完成时释放资源去处理其他任务,从而提高程序的整体效率和响应速度。
|
9天前
|
数据库 Python
异步编程不再难!Python asyncio库实战,让你的代码流畅如丝!
在编程中,随着应用复杂度的提升,对并发和异步处理的需求日益增长。Python的asyncio库通过async和await关键字,简化了异步编程,使其变得流畅高效。本文将通过实战示例,介绍异步编程的基本概念、如何使用asyncio编写异步代码以及处理多个异步任务的方法,帮助你掌握异步编程技巧,提高代码性能。
26 4
|
9天前
|
API 数据处理 Python
探秘Python并发新世界:asyncio库,让你的代码并发更优雅!
在Python编程中,随着网络应用和数据处理需求的增长,并发编程变得愈发重要。asyncio库作为Python 3.4及以上版本的标准库,以其简洁的API和强大的异步编程能力,成为提升性能和优化资源利用的关键工具。本文介绍了asyncio的基本概念、异步函数的定义与使用、并发控制和资源管理等核心功能,通过具体示例展示了如何高效地编写并发代码。
20 2
|
10天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
23 2
|
14天前
|
数据采集 JSON 测试技术
Python爬虫神器requests库的使用
在现代编程中,网络请求是必不可少的部分。本文详细介绍 Python 的 requests 库,一个功能强大且易用的 HTTP 请求库。内容涵盖安装、基本功能(如发送 GET 和 POST 请求、设置请求头、处理响应)、高级功能(如会话管理和文件上传)以及实际应用场景。通过本文,你将全面掌握 requests 库的使用方法。🚀🌟
36 7
|
15天前
|
机器学习/深度学习 数据采集 算法
Python机器学习:Scikit-learn库的高效使用技巧
【10月更文挑战第28天】Scikit-learn 是 Python 中最受欢迎的机器学习库之一,以其简洁的 API、丰富的算法和良好的文档支持而受到开发者喜爱。本文介绍了 Scikit-learn 的高效使用技巧,包括数据预处理(如使用 Pipeline 和 ColumnTransformer)、模型选择与评估(如交叉验证和 GridSearchCV)以及模型持久化(如使用 joblib)。通过这些技巧,你可以在机器学习项目中事半功倍。
21 3
|
7天前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
|
14天前
|
文字识别 自然语言处理 API
Python中的文字识别利器:pytesseract库
`pytesseract` 是一个基于 Google Tesseract-OCR 引擎的 Python 库,能够从图像中提取文字,支持多种语言,易于使用且兼容性强。本文介绍了 `pytesseract` 的安装、基本功能、高级特性和实际应用场景,帮助读者快速掌握 OCR 技术。
30 0
|
2月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
75 0
|
3月前
|
机器学习/深度学习 数据处理 计算机视觉
NumPy实践宝典:Python高手教你如何轻松玩转数据处理!
【8月更文挑战第22天】NumPy是Python科学计算的核心库,专长于大型数组与矩阵运算,并提供了丰富的数学函数。首先需安装NumPy (`pip install numpy`)。之后可通过创建数组、索引与切片、执行数学与逻辑运算、变换数组形状及类型、计算统计量和进行矩阵运算等操作来实践学习。NumPy的应用范围广泛,从基础的数据处理到图像处理都能胜任,是数据科学领域的必备工具。
57 0