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%的人还看了以下文章

  • python 初学者练手上机实操一

    一、从键盘输入商品名称、商品的单价、商品的数量, 计算商品总价,并按如下格式输出: 商品名称:牛奶,单价:5元,数量:2件,总价:10元 二、从键盘输入年龄,如果>=18岁显示“已成年”,否则显示“未成年”。 三、输入三条边长,如果能构成三角形就计算周长并显示,否则显示“不能构成三角形”。 四、百分制成绩转换为等级制成绩。 要求:如果输入的成绩在90分…

    2023年4月7日
    6.4K0
  • 基于jspSmartUpload的Jsp文件上传实例(只能上传图片格式文件)

    支持中文的jsp文件上传组件:jspSmartUpload.jar下载 jar包的存放位置:WEB-INF\lib下。 upload_image.html <form method=”post” action=”new_upload.jsp” enctype=”multipart/form-data”> <input type=”file”…

    2018年12月11日
    8.7K0
  • IntelliJ IDEA 设置代码提示或自动补全的快捷键 (附IntelliJ IDEA常用快捷键)

    IntelliJ Idea 常用快捷键列表 Alt+回车 导入包,自动修正Ctrl+N  查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L  格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C  最近更改的代码Ctrl+R 替换文本Ctrl+F …

    2020年8月20日
    7.7K0
  • python 中time.gmtime()与localtime()的区别

    gmtime转换的时间是UTL时间,与北京时间相差了8个小时 import time print(time.time()) print(time.strftime(“%Y-%m-%d 星期%w %H:%M:%S”,time.localtime())) print(time.strftime(“%Y-%m-%d 星期%w %H:%M:%S”,time.gmti…

    2022年7月15日
    9.5K0
  • JSP三层架构开发学生管理系统源码-dao、entity、service、servlet

    JSP三层架构开发学生管理系统源码-dao、entity、service、servletJSP三层架构开发学生管理系统源码-dao、entity、service、servletJSP三层架构开发学生管理系统源码-dao、entity、service、servletJSP三层架构开发学生管理系统源码-dao、entity、service、servlet

    表示层:MVC中的视图层和控制器层,前端通常为html css js jsp文件,后端例如Servlet文件,调用业务逻辑层业务逻辑层(Service):接受表示层的请求,先进行逻辑处理,后调用数据逻辑层,(增:查+增) 数据访问层(Dao):直接访问数据库的操作 通过三层架构,将表示层请求传递到数据访问层,数据访问层将结果返回至表示层 具体流程 开发环境:…

    2021年5月1日 编程开发
    4.2K0
  • 什么是单元测试,单元测试快速入门教程一

    单元测试概述 单元测试是在软件开发过程中要进行的最低级别的测试活动或者说是针对软件设计的最小单位—程序模块(程序中定义的函数、子程序、类或方法),进行正确性检验的测试工作,目的在于发现每个程序模块内部可能存在的差错或缺陷。 在单元测试活动中,软件的独立单元将在与程序的其它部分相隔离的情况下进行测试,主要工作分人工静态检查(静态测试)和动态执行跟踪(动态测试)…

    2018年4月16日
    8.5K0

发表回复

登录后才能评论