NumPy快速入门(一)

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

NumPy作为高性能科学计算和数据分析的基础包,是其他重要数据分析工具的基础。

一、认识NumPy数组对象

import numpy as np #导入numpy数据包
data=np.arange(12).reshape(3,4) #创建一个3行4列的数组
print(data)
print(type(data))
print(data.ndim) #数组维度 输出2,表示二维数组
print(data.shape)#数组的维度,输出(3,4),表示3行4列
print(data.size,data.dtype)  #数组元素的个数和元素类型

输出:

[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
<class ‘numpy.ndarray’>
2
(3, 4)
12 int32

二、创建NumPy数组

import numpy as np
data1=np.array([1,2,3])#创建一维数组
print(data1)
data2=np.array([[1,2,3],[4,5,6]])#创建二维数组
print(data2)
data3=np.zeros((3,4))#创建元素都是0的二维数组
print(data3)
data4=np.ones((2,3))#创建元素都是1的二维数组
print(data4)
d5=np.empty((5,2))#创建数组,元素随机,数据类型默认为float64
print(d5)
d6=np.arange(1,20,5)#创建等差数组
print(d6,d6.dtype)

输出:

[1 2 3]
[[1 2 3]
[4 5 6]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[1. 1. 1.]
[1. 1. 1.]]
[[ nan 0.000000e+000]
[1.118637e-311 2.023693e-320]
[0.000000e+000 0.000000e+000]
[0.000000e+000 0.000000e+000]
[0.000000e+000 0.000000e+000]]
[ 1 6 11 16] int32

三、ndarray对象的数据类型

d7=np.array([1,2,3],float)#显式声明数组元素的类型 
print(d7) 
d8=np.ones((2,3),dtype='float64')#创建元素都是0的二维数组 
print(d8)

输出:

[1. 2. 3.]
[[1. 1. 1.]
[1. 1. 1.]]

转换数据类型

import numpy as np
d1=np.array([1,2,3])
print(d1.dtype,d1.dtype.name)
float_d1=d1.astype(np.float32)#数据类型转换为float32
print(float_d1,float_d1.dtype)

float_d2=np.array([1.2,3.8,4.5])
int_d2=float_d2.astype(np.int32)#数据类型转换为int32,小数点后的部分截掉
print(int_d2,int_d2.dtype)

输出:

int32 int32
[1. 2. 3.] float32
[1 3 4] int32

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/10170.html

(0)
江山如画的头像江山如画管理团队
上一篇 2022年1月4日 上午7:58
下一篇 2022年1月28日 上午7:54

99%的人还看了以下文章

  • 基于jspSmartUpload的Jsp文件上传:防止文件重名被覆盖的解决方法

    基于jspSmartUpload的Jsp文件上传:防止文件重名被覆盖的解决方法 支持中文的jsp文件上传组件:jspSmartUpload.jar下载 upload_repeat.html <html> <head> <title>中国网页设计:文件上传</title> <meta http-equiv=…

    2018年12月11日
    2.4K0
  • jsp写mysql数据库出现中文乱码

    今天用jsp做个图片书管理系统,向mysql数据库中存中文的时候显示乱码,如图书名: web???? 修改页面是http://localhost:8080/library/book?action=bookModifyQuery&ID=14 根据中文乱码的处理方法: 表单method方式为post或get中文乱码的解决方法 jsp:include包含h…

    2020年8月22日
    4.9K0
  • itbegin编程教学云课堂使用介绍

    进入https://www.itbegin.com/apps    点击右上角 登录 登录后,点击院校通–院校 点击进入个人中心 点击“web开发技术课堂”,进入相应课程 点击:我的预习,可以看到预习的知识点,时间要求。请同学们一定要在结束时间前完成任务! 点击查看,可以看到需要预习的知识点,预习以观察,查看效果为主。 如要求:观察各标签的使用及…

    2018年3月14日
    8.5K0
  • 精!如何在IDEA中导入myeclipse项目、配置并运行(实例演示)

    125建站网站长原来开发的myeclipse项目直接在IDEA打开发现会有很多问题,根据解决过程,写出此文章供大家参考! 1.首先打开IDEA工具,选择导入项目,然后在弹出的窗口中选择要打开的myeclipse文件,然后点击确定。如图所示 2.选择Eclipse,然后一直下一步 3.正常我们SDK这里都配置好了,直接选择就好,然后完成项目的导入 4.导入的完…

    2023年2月3日 编程开发
    7.9K0
  • String、StringBuffer、StringBuilder的区别?

    String在实例化之后,其内存空间的内容大小是不能够被修改的;而StringBuffer是一个线程安全的可变字符序列,在实例化之后可以动态的修改堆内存中的内容,所以内存长度和大小是可变的;StringBuilder实例化之后内存大小长度也是可变的,不同之处在于StringBuilder不是线程同步,因此操作起来必然比StringBuffer更加高效。

    2018年10月24日
    2.9K0
  • Ubantu为非标准应用程序添加桌面图标的操作方法

    本文主要指的是第三方或自己编写的非标准应用程序 需要编写.desktop文件。 主要步骤如下:1、进入/usr/share/applications目录,建立一个空白的文本文件,文件要以.desktop作为扩展名。 命令行进入/usr/share/applications cd /usr/share/applications 2、在文件写入启动自己应用的相应…

    2022年9月1日
    6.1K0

发表回复

登录后才能评论