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)


相关文章
|
5月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
344 1
|
5月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
485 1
|
5月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
661 1
|
5月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
297 0
|
6月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
485 0
|
5月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
457 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
5月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
459 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
5月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
240 4
|
6月前
|
JavaScript Java 大数据
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。

推荐镜像

更多