numpy学习记录

numpy教程

SciPy(Scientific Python):
功能:插值
matplotlib(绘图库)

在 Win10上安装numpy

在anaconda上安装记录:
输入命令行:

pip3 install numpy scipy matplotlib

验证是否安装成功:
输入命令行,进入运行环境:

python

>>> from numpy import * 导入Numpy库
>>> eye(4) 生成对角矩阵
array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])

安装成功!

ndarray对象:

内容:
【指针(指向数据);dtype(数据类型);shape(数组形状);stride(跨度元组)】
一些例子:

实例1:创建一维数组
>>> import numpy as np
>>> a=np.array([1,2,3])
>>> print(a)
[1 2 3]
实例2:多于一个维度
>>> b=np.array([[1,2],[3,4]])
>>> print(b)
[[1 2]
 [3 4]]
 实例3:创建一个数组
>>> c=np.array([1,2,3,4,5])
>>> print(c)
[1 2 3 4 5]
实例4:用ndmin指定生成数组的最小维度
>>> d=np.array([1,2,3,4,5],ndmin=2)
>>> print(d)
[[1 2 3 4 5]]
实例5:用dtype指定数据元素的数据类型
>>> e=np.array([1,2,3],dtype=complex)
>>> print(e)
[1.+0.j 2.+0.j 3.+0.j]
>>>

numpy数组属性
ndarray.ndim用于返回数组的维数,相当于秩

>>> import numpy as np
>>> a=np.arange(24)
>>> print(a.ndim)
1
>>> b=a.reshape(2,4,3)
>>> print(b.ndim)
3
>>>

ndarray.shape用于调整数组大小

>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> print(a,a.shape)
[[1 2 3]
 [4 5 6]]
 (2, 3)
>>>

调整数组大小

>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> print(a,a.shape)
[[1 2 3]
 [4 5 6]] (2, 3)
>>> a.shape=(3,2)
>>> print(a,a.shape)
[[1 2]
 [3 4]
 [5 6]]
 (3, 2)
>>>

reshape也可以用来调整数据的大小

>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> b=a.reshape(3,2)
>>> print(b)
[[1 2]
 [3 4]
 [5 6]]
>>>

numpy创建一个空数组
格式:

numpy.empty(shape,dtype=float,order='C')
shape数组形状
dtype数据类型
order行优先和列优先
>>> import numpy as np
>>> x=np.empty([3,2],dtype=int)
>>> print(x)
[[1247569260 1549891169]
 [1635148138 1752457584]
 [1547322427 1853321028]]
>>>

numpy.zeros创建指定大小的数组,数组元素以0来填充
格式:
numpy.zeros(shape,dtype = float, order=’C’)
shape数组形状
dtype:数据类型
order:行列顺序
实例

>>> import numpy as np
>默认为浮点数
>>> x=np.zeros(5)
>>> print(x)
[0. 0. 0. 0. 0.]
设置类型为整数
>>> y = np.zeros( (5,), dtype = np.int)
>>> print(y)
[0 0 0 0 0]
自定义数据类型
>>> z = np.zeros( (2,2), dtype = [('x','i4'), ('y', 'i4')])
>>> print(z)
[[(0, 0) (0, 0)]
 [(0, 0) (0, 0)]]
>>>
  1. NumPy IO
    作用:
    读写磁盘上的文本数据或者二进制数据
    常见的 IO函数:
    load()、 save()读写文件数组数据
    savez()将多个数组写入文件
    loadtxt()、 savetxt()处理正常的文本文件
    numpy.save()函数将数组保存到以.npy为扩展名的文件中,实例:
>>> import numpy as np
>>> a=np.array([1,2,3,4,5])
>保存到outfile.npy文件中
>>> np.save('outfile.npy',a)
>使用load函数来读取数据就可以了
>>>> b=np.load('outfile.npy')
>>> print(b)
[1 2 3 4 5]

numpy.savez()函数将多个数组保存到以npz为扩展名的文件中

>>> import numpy as np
>>> a=np.array([[1,2,3],[4,5,6]])
>>> b=np.arange(0,1.0,0.1)
>>> c=np.sin(b)
>>> np.savez("runoob.npz",a,b,sin_array = c)
>>> r=np.load("runoob.npz")
>>> print(r.files) 查看各个数组名
['sin_array', 'arr_0', 'arr_1']
>>> print(r["arr_0"])数组a
[[1 2 3]
 [4 5 6]]
>>> print(r["arr_1"])数组b
[0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
>>> print(r["sin_array"])数组c
[0.         0.09983342 0.19866933 0.29552021 0.38941834 0.47942554
 0.56464247 0.64421769 0.71735609 0.78332691]
>>>

savetxt()函数是以简单的文本文件格式存储数据,对应使用loadtxt()函数来获取数据
实例:

>>> import numpy as np
>>> a=np.array([1,2,3,4,5])
>>> np.savetxt('out.txt',a)
>>> b=np.loadtxt('out.txt')
>>> print(b)
[1. 2. 3. 4. 5.]

可以使用delimiter参数指定各种分隔符,针对特定列的转换器函数,需要跳过的行数等等。

>>> import numpy as np
>>> a=np.arange(0,10,0.5).reshape(4,-1)
>>> np.savetxt("out.txt",a,fmt="%d",delimiter=",")
>>> b=np.loadtxt("out.txt",delimiter=",")load时候也需要指定为逗号分隔
>>> print(b)
[[0. 0. 1. 1. 2.]
 [2. 3. 3. 4. 4.]
 [5. 5. 6. 6. 7.]
 [7. 8. 8. 9. 9.]]
  1. NumPy Matplotlib
    Matplotlib是Python的绘图库
    查看是否安装了matplotlib模块
方式一:python -m pip list

使用实例:

导入需要的库
>>> import numpy as np
>>> from matplotlib import pyplot as plt
>np.arange创建x轴上的值,
>>> x=np.arange(1,11)
>>> y=2*x+5
>>> plt.title("Matplotllib demo")
Text(0.5, 1.0, 'Matplotllib demo')
>>> plt.xlabel("x axis caption")
Text(0.5, 0, 'x axis caption')
>>> plt.ylabel("y axis caption")
Text(0, 0.5, 'y axis caption')
>>> plt.plot(x,y)
[<matplotlib.lines.Line2D object at 0x000001DA9A06A220>]
>>> plt.show()

numpy学习记录

Original: https://blog.csdn.net/lcnana/article/details/122125782
Author: cycy_0918
Title: numpy学习记录

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/763449/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Python集成开发工具(IDE)推荐

    1.7 Python集成开发工具(IDE)推荐 1.7.1 Notepad++ Notepad++是Windows操作系统下的一套文本编辑器(软件版权许可证: GPL),有完整的中…

    Python 2023年11月9日
    054
  • 【自动驾驶】车辆运动学模型

    文章目录 参考资料 1. 以车辆重心为中心的单车运动学模型 * 1.1 参数说明 1.2 几何关系 – 1.2.1 偏航角ψ \psi ψ的关系 1.2.1 滑移角 β…

    Python 2023年10月27日
    035
  • python笔记:模块

    导入模块是python中很重要的部分。今天,我来为大家细讲 导入模块。 一、导入内部模块 1.1.导入模块方法和使用方法 1.2.方法 二、导入外部模块 2.1.外部模块的安装 2…

    Python 2023年9月23日
    046
  • (Python)常用高级函数:print的使用

    print函数是Python 3中内置的一种常用函数,主要的功能是打印输出,无返回值。 print函数与文件和流的关系: 在Python 3中,print语句实现打印输出,实际上是…

    Python 2023年8月24日
    043
  • OpenAI chatGPT火爆出圈,世界悄悄发生着变化

    OpenAI chatGPT火爆出圈,世界悄悄发生着变化 一、为什么突然火起来了? 二、ChatGPT功能示例 * 2.1 [AI聊天](https://chat.openai.c…

    Python 2023年9月30日
    057
  • 随笔荟萃 | sincerity

    抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 Original: https://blo…

    Python 2023年9月30日
    061
  • Python-玩转数据-Scrapy框架介绍及安装

    一、Scrapy框架说明 1、Scrapy介绍 Scrapy框架官方网址:http://doc.scrapy.org/en/latest Scrapy是用纯Python实现一个为了…

    Python 2023年10月1日
    037
  • uni-app的三元表达式

    csharp;gutter:true;002277 500万股 作者:子钦加油 出处:https://www.cnblogs.com/zmdComeOn/个性签名 :努力生活,努力…

    Python 2023年6月10日
    072
  • DDOS攻击

    把我掘金的文章同步一份过来 最近网上爆火的一款游戏 Goose Goose Duck (鹅鸭杀) 游戏官方在近日发布了一则公告,宣布由于服务器屡次遭受黑客攻击,该游戏服务器将暂时关…

    Python 2023年11月6日
    038
  • 如何使用ModelBox快速提升AI应用性能?

    摘要:在开发初期开发者往往聚焦在模型的精度上,性能关注较少,但随着业务量不断增加,AI应用的性能往往成为瓶颈,此时对于没有性能优化经验的开发者来说往往需要耗费大量精力做优化性能,本…

    Python 2023年10月24日
    030
  • Python中Matplotlib.pyplot之二维线形图plt.plot( )套路总结

    绘制所有图的共同考虑顺序: 0 为了能够显示中文字体,所以必须添加以下两行。 from pylab import *plt.rcParams[‘font.sans-se…

    Python 2023年9月2日
    048
  • python xlwings chart模块各种问题今天都遇到了

    问题1、增加图表,按网上搜索的设置图表标题一直报错(pywintypes.com_error: (-2147352567, ‘发生意外。’, (0, &#8…

    Python 2023年6月11日
    095
  • # 用飞书来谈恋爱,飞书机器人定时给女朋友问好

    用飞书来谈恋爱,飞书机器人定时给女朋友问好 前言 技术要求 操作步骤 1.两个人用飞书建一个群,添加群机器人 2.申请高德地图API 3.创建Spring Boot工程,引入Web…

    Python 2023年10月21日
    059
  • 超级详细的 Maven 教程(基础+高级)

    1. Maven 是什么 Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供 构建和 依赖管理支持的工具。 一个 Maven 工程有约定的目录结构,约…

    Python 2023年9月17日
    073
  • 暑期实践第二十三天 2022-7-26

    1.数据移位 shift方法 DataFrame.shift(periods=1, freq=None, axis=0) periods:表示移动的幅度,可以是正数,也可以是负数,…

    Python 2023年8月7日
    048
  • Numpy中数组、向量和矩阵的常用方法

    介绍了Numpy中数组、向量和矩阵的常用方法 1. 转置矩阵或向量 加载库 import numpy as np 创建向量 vector = np.array([1, 2, 3, …

    Python 2023年6月3日
    065
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球