Numpy库03_数据运算

#运算

import numpy as np

#列表相乘
# ll=[1,2,3,4,5]
# ll2=ll*2 # [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
# print(ll2)

# 列表相加
# ll3=[1,2,3,4,5]
# ll4=ll3+10 #报错,不能这样用
# print(ll4)

#numpy中数组相加
# nparr1=np.arange(0,10)
# print(nparr1) # [0 1 2 3 4 5 6 7 8 9]
# print(nparr1+10) # [10 11 12 13 14 15 16 17 18 19] 每个元素加,可以加
# print(nparr1*10) # [ 0 10 20 30 40 50 60 70 80 90] 每个元素乘,可以乘

# nparr2=np.arange(0,10).reshape(2,5)
# print(nparr2)
# print(nparr2*10)
# print(nparr2+10)
# 以上都可以,它的运算都直接进去对每个元素进行运算了

#举例np的通用函数
# nparr3=np.arange(-10,3)
# print(nparr3)
# print(np.abs(nparr3)) #不改变原数据,
# print(nparr3)

#数组的逻辑运算,这要用到三个数组
# nparr4=np.array([1,2,3,4,5])
# nparr5=np.array([6,7,8,9,10])
# nparr6=np.array([True,True,False,False,True])
# nparr7=[(x if z else y) for x,y,z in zip(nparr4,nparr5,nparr6)]
# print(nparr7) # [1, 2, 8, 9, 5] 数据类型变为list了。
# print(type(nparr7))
# #np.where()函数能实现上面的运算
# nparr8=np.where(nparr6,nparr4,nparr5)
# print(nparr8) # [1 2 8 9 5]

#where()函数的其它用法,条件选择函数
# nparr9=np.random.randn(5,5)
# print(nparr9)
# print("______________________")
# nparr10=np.where(nparr9>0,1,-1) #里面就是条件,前面条件为直,变为1,为假变为-1,不改变原数据
# print(nparr10)
# print("______________________")
# print(nparr9)

#来,继续挖where的用法,多条件选择,即np.where的嵌套使用
# nparr11=np.random.randint(10,40,size=(4,4))
# print(nparr11)
# #要求,大于10的数标2,大于20的数标3,大于30的数标4
# nparr12=np.where(nparr11>=30,4,np.where(nparr11>=20,3,2))
# print(nparr12)

# 统计运算
nparr13=np.array([[1,2,3,4],
[5,6,7,8],
[9,10,11,12]])
# print(nparr13)
# print(nparr13.sum()) #求所有元素的和
# print(nparr13.sum(axis=0)) #y轴的和组成的数组
# print(nparr13.mean()) #求所有元素的平均数
# print(nparr13.mean(axis=1)) #0=y轴平均,1=x轴平均
# print(nparr13.std()) #标准差
#什么是标准差
"""
标准差(Standard Deviation) ,中文环境中又常称均方差,是离均差平方的算术平均数的平方根,
用σ表示。标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。
平均数相同的两组数据,标准差未必相同。
"""
# nparr14=np.array([[1,2,3,4],
# [5,6,7,8],
# [9,10,11,12]])
# print(nparr14.max(axis=1)) #最大max(),最小min(),都可以加axis轴,axis可以省略
# # print(nparr14.argmax()) #最大值索引
# print(nparr14.cumsum()) #[ 1 3 6 10 15 21 28 36 45 55 66 78]累计和,有意思,前几个相加得下一个数
# print(nparr14.cumsum(0)) #axis可以省略,直接0或1即可
# print(nparr14.cumprod()) #累计积,同上面累计和同

#排序
# nparr15=np.array([[1,8,3,4],
# [5,6,7,4],
# [9,1,11,2]])
# print(nparr15)
# # nparr15.sort() #排序,改变了原数据,多维默认x轴排序
# nparr15.sort(0) #排序,改变了原数据,多维默认x轴排序,0表y轴排
# print(nparr15)

#集合运算
#一维数组的集合运算,提供了唯一,也就是去重运算unique
# nparr16=np.array([1,2,3,2,4,6,18,6,22,15,15,18])
# print(nparr16)
# nparr17=np.unique(nparr16) #不改变原数据,去重,还从小到大排好了序
# print(nparr16)
# print(nparr17)

# nparr19=np.array([[1,8,3,4],
# [5,6,7,4],
# [9,1,11,2]])
# nparr20=np.unique(nparr19) #多维的话,就转成了一维,也去重了。[ 1 2 3 4 5 6 7 8 9 11]
# print(nparr20)

"""
#集合运算:
unique() 唯一值,去重
intersectld() 公共元素
unionld() 并集
inld() 是否存在,返回 bool 值
setdiffld() 集合的差
setxorld() 交集取反
"""

#线性代数: 买本书来学习

原文地址:https://www.cnblogs.com/yiyea/p/11441755.html

时间: 2024-08-30 16:37:48

Numpy库03_数据运算的相关文章

Numpy库04_数据存取

import numpy as np nparr1=np.arange(0,20).reshape(4,5) print(nparr1) #存储 np.savetxt("nparr1.csv",nparr1,fmt="%d",delimiter=",") # np.savetxt("nparr2.csv",nparr1,fmt="%s") #保存到同目录下 #读取 nparr2=np.loadtxt(&qu

数据分析与展示——NumPy库入门

这是我学习北京理工大学嵩天老师的<Python数据分析与展示>课程的笔记.嵩老师的课程重点突出.层次分明,在这里特别感谢嵩老师的精彩讲解. NumPy库入门 数据的维度 维度是一组数据的组织形式.数据维度就是在数据之间形成特定关系表达多种含义的一个概念. 一维数据: 一维数据由对等关系的有序或无序数据构成,采用线性方式组织.对应列表.数组和集合等概念. 列表和数组:一组数据的有序结构. 区别: 列表:数据类型可以不同 数组:数据类型相同 二维数据: 二维数据由多个一维数据构成,是一维数据的组合

数据分析之Numpy库入门

1.列表与数组 在python的基础语言部分,我们并没有介绍数组类型,但是像C.Java等语言都是有数组类型的,那python中的列表和数组有何区别呢? 一维数据:都表示一组数据的有序结构 区别: 列表:数据类型可以不同,如:[3.1413,'pi',3.1404,[3.1402,2.34],'3.2376'] 数组:数据类型相同 .如[3.14,34.34,3433.3,343.23] 二维数据:二维数据由多个一维数据构成,是一维数据的集合形式!表格是典型的二维数据! 注意:表格的表头,可以是

python——Numpy库

Numpy库 英文官方文档:https://docs.scipy.org/doc/numpy/reference/arrays.ndarray.html Numpy库中的数组对象:N维数组类型:ndarray 1)      ndarray的作用: a)      数组对象性可以去掉元素间运算所需的循环,使一维向量更像单个数据. b)     设置专门的数组对象,经过优化,可以提升这类应用的运算速度. 2)      ndarray是一个多维数组对象,有两部分组成: 实际的数据 和 描述这些数据

Numpy库的学习(一)

今天来学习一下Python库中,支持高级大量的维度数组与矩阵运算的神奇的Numpy库 Numpy同时也对数组运算提供大量的数学函数,对于大量计算运行效率极好 是大量机器学习框架的基础库 废话不多说,直接开整 Numpy中最核心的结构就是ndarray数组 Numpy中定义的最重要的对象是成为ndarray的N维数组类型 它描述相同类型的元素集合.可以使用基于零的索引访问集合中的项目.大部分的数组操作仅仅是修改元数据部分,而不改变其底层的实际数据. 数组的维数称为秩,简单来说就是如果你需要获取数组

Python 第2周 - Python基础-模块\数据运算

内容 模块初识 数据运算 bytes数据类型 python数据类型 列表的使用 元组与购物车操作 购物车程序练习 字符串常用操作 字典的使用 三级菜单实例 本周作业-购物车优化 一.模块初识 Python 库分两种:标准库(不需要安装,直接导入就可以直接使用的库).第三方库(必须安装才能使用如django).注意:编写代码时,模块名字不要跟库名字相同.系统自带模块简单举例:  sys库: 1.打印系统环境变量 sys.path: 1 import sys 2 print ("sys.path&q

python修行之路(三 模块初识及数据运算类型)

在python修行路上,果不其然的遇到了第一个困处,开始看不懂代码,开始出现理解苦难的现象,这是小白修行路上的正常现象.其实自己是很慌的,感觉很无助,能做的就是把自己学的慢慢记录下来,理一个自己的逻辑,尽量写清楚,写的通俗易懂,为与我类似的修行者做参考. 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,使用时安装调用就好,现在先象征性的学习2个简单的. sys模块--sys pass功能#!/usr/bin/env python# -*- coding: utf-8

STM32F4使用FPU+DSP库进行FFT运算的测试过程

测试环境:单片机:STM32F407ZGT6   IDE:Keil5.20.0.0  固件库版本:STM32F4xx_DSP_StdPeriph_Lib_V1.4.0 第一部分:使用源码文件的方式,使用void arm_cfft_radix4_f32(const arm_cfft_radix4_instance_f32 * S,float32_t * pSrc)函数进行FFT运算. 准备空工程,配置Keil环境.使能STM32F4的FPU单元. 开启硬件浮点运算,等效于在C/C++->defin

python数据分析实战-第3章-numpy库

第3章 NumPy库 32 3.1 NumPy简史 32 3.2 NumPy安装 32 3.3 ndarray:NumPy库的心脏 33 1 import numpy as np 1 a = np.array([1, 2, 3]) 1 a array([1, 2, 3]) 1 type(a), a.dtype, a.ndim, a.size, a.shape, a.itemsize (numpy.ndarray, dtype('int64'), 1, 3, (3,), 8) 1 b = np.a