首页 > 其他分享 >Numpy温习函数方法

Numpy温习函数方法

时间:2022-10-27 11:31:29浏览次数:52  
标签:10 函数 random print np 温习 array Numpy


一、Numpy Pandas

1.1 简介

方便数组 矩阵运算

1.2 优势

运算速度快:numpy 和 pandas 都是采用 C 语言编写, pandas 又是基于 numpy, 是 numpy 的升级版本。
消耗资源少:采用的是矩阵运算,会比 python 自带的字典或者列表快好多。
代码更简洁:大量的数学函数【数组、矩阵】
性能更高效:数组 自己的存储格式,比原生的List好很好。

二、安装Numpy

2.1 anaconda

1.自带了Numpy,继承了非常多的库,首选安装环境。
2.pip install numpy
import numpy as np

三、Numpy vs Python

3.1 数组加法

1.数组 A B为1~N的数字的平方和立方

1 2 4 9 …

1 3 27 64 …

Numpy温习函数方法_python


Numpy温习函数方法_数组_02


Numpy温习函数方法_python_03

四、Numpy-Array

1.Numpy的核心数据结构,就叫做array就是数组, array对象可以是一维数组, 也可以是多维数组;
2.Python的List也可以实现相同的功能, 但是aray比List的优点在于性能好、 包含数组元数据信息大量的便捷函数;
3.Numpy成为事实上的Scipy. Pandas、 Scikit-Learn. Tensorflow. PaddlePaddle等框架的“通用底层语言”
4.Numpy的array和Python的List的一 个区别,它元素必须都是同一种数据类型,比如都是数字int类型,这也是Numpy高性能的一个原因;

array本身的属性
●shape: 返回一个元组,表示array的维度
●ndim: -个数字,表示array的维度的数目
●size: -个数字,表示array中所有数据元素的数目
●dtype: array中元素的数据类型

4.1 Array创建操作

1.从Python的列表L ist和嵌套列表创建array
2.使用预定函数arange. ones/ones_ like. zeros/zeros_ ike. empty/empty like. fllulll like. eye等函数创建
3.生成随机数的np.random模块构建

import numpy as np

# 1.创建数组
x = np.array([1,2,3,4,5,6,7,8])
y = np.array([[123,456,789],[123,456,789]])
print(x) # [1 2 3 4 5 6 7 8]
print(y) # [[123 456 789] [123 456 789]]

# 2.array数组的属性
print(x.shape) # (8,)
print(y.shape) # (2, 3)
print(y.size) # 6
print(x.dtype) # int32

# 3.创建便捷函数
z1 = np.arange(10) # [0 1 2 3 4 5 6 7 8 9]
z2 = np.arange(2,10,2) # [2 4 6 8]

print(np.random.rand()) # 0.8003246658237291
print(np.random.rand(3)) # [0.22203232 0.07369858 0.02427968]
print(np.random.rand(3,2)) # [[0.66349363 0.86112248] [0.11068548 0.89208492] [0.34897576 0.57025273]]

4.2 数组索引查询

Numpy温习函数方法_数据_04


Numpy温习函数方法_数组_05


1.给已有的数据添加多行,比如增添一些样本数据进去;

2.给已有的数据添加多列,比如增添一些特征进去;

以下操作均可以实现数组合并:

●np.concatenatelarray_ list, axis=0/1) : 沿着指定axis进行数组的合并

●np.vstack或者np.row_ stackarray_ list) :垂直vertically.按行row wise进行数据合并

●np.hstack或者np.column_ stackarray_ Jist) :水平horizontally.按列column wise进行数据合并

Numpy与Pandas数据的相互转换
Pandas是在Numpy基础上建立的非常流行的数据分析类库;
提供了强大针对异构、表格类型数据的处理与分析能力。
本节绍Numpy和Pandas的转换方法:

  1. Numpy数组怎样输入给Pandas的Series、DataFrame ;
  2. Pandas的Series、 DataFrame怎样转换成Numpy的数组
import numpy as np

# 1.创建数组
x = np.array([1,2,3,4,5,6,7,8])
y = np.array([[123,456,789],[123,456,789]])
print(x) # [1 2 3 4 5 6 7 8]
print(y) # [[123 456 789] [123 456 789]]

# 2.array数组的属性
print(x.shape) # (8,)
print(y.shape) # (2, 3)
print(y.size) # 6
print(x.dtype) # int32

# 3.创建便捷函数
z1 = np.arange(10) # [0 1 2 3 4 5 6 7 8 9]
z2 = np.arange(2,10,2) # [2 4 6 8]

print(np.random.rand()) # 0.8003246658237291
print(np.random.rand(3)) # [0.22203232 0.07369858 0.02427968]
print(np.random.rand(3,2)) # [[0.66349363 0.86112248] [0.11068548 0.89208492] [0.34897576 0.57025273]]


# 4.改变reshape
print(np.arange(10).reshape(2,5).shape) # (2, 5) 以为数组 转换成 2行5列的数组

# 5.索引查询
a = np.arange(10)
b = np.arange(20).reshape(4,5)
print(a[2],a[5],a[-1]) # 2 5 9
print(a[2:4]) # [2 3]
print(a[2:-1]) # [2 3 4 5 6 7 8]
print(a[2:]) # [2 3 4 5 6 7 8 9]
print(a[:6]) # [0 1 2 3 4 5]

print(b[0,0]) # 0
print(b[-1,2]) # 17
print(b[:-1]) # [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14]]
print(b[:2,2:4]) # [[2 3] [7 8]]

# 布尔索引
print(a>5) # [False False False False False False True True True True]
print(a[a>5]) # [6 7 8 9]

# 6.random随机函数
np.random.seed(666)
print(np.random.rand(5))
print(np.random.rand(3, 4))
print(np.random.rand(2, 3, 4))
print(np.random.randn(5)) # [-1.20990266 -0.04618272 -0.44118244 0.46953431 0.44325817]
print(np.random.randint(1,10)) # 9
print(np.random.randint(10,30,size=(5,))) # [25 13 29 15 15]
print(np.random.randint(10,30,size=(2,3,4)))

print(np.random.random(5)) # [0.2026436 0.63279787 0.18935861 0.1308497 0.75765845]
print(np.random.random(size=(3,4)))

c = np.arange(10)
print(np.random.shuffle(c))

d = np.random.normal(1,10,10) # 均值为1 方差为10 的10个高斯分布数字

# 7.统计学函数
arr = np.arange(12).reshape(3,4)
print(np.sum(arr)) # 66
print(np.prod(arr)) # 0
print(np.cumsum(arr)) # [ 0 1 3 6 10 15 21 28 36 45 55 66]
print(np.cumprod(arr)) # [0 0 0 0 0 0 0 0 0 0 0 0]
print(np.min(arr)) # 0
print(np.mean(arr)) # 5.5
print(np.std(arr)) # 3.452052529534663
print(np.var(arr)) # 11.916666666666666

# 8.axis=0 代表行 axis=1 代表列
print(arr.sum(axis=0)) # [12 15 18 21]
print(arr.sum(axis=1)) # [6 22 38]

# 9.机器学习标准化 A = (A - mean(A,axis=0))/std(A,axis=0)
mean = np.mean(arr,axis=0) # 计算每列的均值
std = np.std(arr,axis=0) # 计算每列的方差

# 10.数据合并操作
# 不同来源数据的合并,行【数据】列【特征】
e = np.arange(6).reshape(2,3)
f = np.random.randint(10,20,size=(4,3))
print(np.concatenate([e, f]))
print(np.vstack([e, f]))
print(np.row_stack([e, f]))

# 列合并
g = np.arange(12).reshape(3,4)
h = np.random.randint(10,20,size=(3,2))
np.concatenate([e, f],axis=1)
np.hstack([e, f])
np.column_stack([e, f])

# 11.计算逆矩阵求解线性方程组
A = np.array([
[1,1,1],
[0,2,5],
[2,5,-1]
])

B = np.linalg.inv(A) # B为A的逆矩阵

print(np.matmul(A, B))

# 12.Numpy 与 Pandas 数据转换

# 13.Numpy输入到sklearn


标签:10,函数,random,print,np,温习,array,Numpy
From: https://blog.51cto.com/u_15848894/5800586

相关文章

  • Vscode自动生成文件注释和函数注释插件使用指南
    一、插件安装插件名:koroFileHeade插件安装二、插件配置打开配置文件添加配置//函数注释CTRL+ALT+T"fileheader.cursorMode":{"Fu......
  • STM32HAL库常用函数速查手册
    STM32HAL库常用函数速查手册(V1.0.0.20221019_BETA)前言写程序时想不起来函数很麻烦,于是做了这么一个手册,常用的一些部分都加了注释标注了中文,搜集资料主要来源于CSDN和官......
  • 字符函数str
     1、判断字符串开头是否为给定内容$res1=Str::StartsWith('ruike','rppui');false 2、判断字符串结尾是否为给定内容Str::endsWith('ruike','ke');3、给定字符串......
  • 1.2 宏处理函数
    1.2.宏处理函数MacroProcessingFunction1.2.1简单示例#例1.2.1-1:strip-tags的函数模块functionstrip_tags(subs,sel)for_,iinipairs(sel)do......
  • C++函数指针和回调函数
    C++函数指针和回调函数在C++中函数指针名就是函数的地址//定义函数指针:返回类型(*pfunc)(形参列表)void(*pfunc)(int,string);int(*pfunc)(int,string,double);......
  • 使用ida查看这个函数调用了哪些api
    用ida查看一个函数,如这个叫getDiskInformAndSend的函数,想快速查看这个函数调用了哪些api,怎么做呢?右键点击函数名称,在选项里选择Xrefsgraphfrom(Xrefsgraphfrom表示......
  • 数组作为函数参数
    一、函数参数有实际参数和形式参数之分。实际参数:调用函数时,函数名后面括号的时实际参数,实际参数是表达式计算的结果,并且被复制给函数的形式参数。形式参数:定义参数时,函数名......
  • c语言—字符函数和字符串函数进阶篇—笔记
    这章介绍了一些字符函数,需要记忆和练习,才能掌握。具体函数可以翻阅c语言函数库​​https://zh.cppreference.com/w​​C语言中对字符和字符串的处理很是频繁,但是C语言本身是......
  • 嵌入式-C语言基础:函数指针
    定义函数地址:如果在程序中定义了一个函数,那么在编译的时候,编译系统为函数代码分配一段存储空间,这段存储空间的起始地址(也叫入口地址)称为这个函数的地址。和数组一样,数组名......
  • Python调用matlab函数
    参考文章:安装用于Python的MATLAB引擎API环境:MATLABR2022a、Anaconda、python3.9检验配置检查Python版本是否与Matlab版本相匹配安装API打开matlab在命令行中输入......