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

  • Java GUI编程高级实例二:弹出式菜单及添加工具栏

    三、 为组件定制弹出式菜单 问题的提出  为“Java Editor”程序的文本编辑区域定制如图所示的的弹出式菜单。 菜单中有五个菜单项组成,分别指示了不同的字体风格,可通过菜单项的选择实现文本区域中文本字体和字号的改变。 用JPopupMenu类建立弹出式菜单 建立弹出式菜单 预先定义一个继承JPopupMenu类的子类,弹出式菜单施加给的对象应由构造方法…

    2020年1月22日
    9.7K0
  • Robotstudio示教编程与仿真运行教程

    Robotstudio示教编程与仿真运行教程Robotstudio示教编程与仿真运行教程Robotstudio示教编程与仿真运行教程Robotstudio示教编程与仿真运行教程

    Robotstudio软件中内置的虚拟示教器与真实的工业机器人示教器没有任何区别,对于学习ABB机器人现场示教编程的,可以在基础工作站中进行学习使用。

    2022年5月3日 编程开发
    11.6K0
  • 上机三 Java Web应用程序设计

    建议学时:8 2学时 一、编写JSP页面date.jsp,格式化显示系统当前时间 需要使用Date类和SimpleDateFormat类。 在头部引入。 <%@ page import=”java.util.Date”%> <%@ page import=”java.text.SimpleDateFormat”%> SimpleDat…

    2018年9月11日
    25.3K1
  • 单元测试工具JUnit介绍及使用,单元测试快速入门教程五

    单元测试工具JUnit介绍及使用,单元测试快速入门教程五单元测试工具JUnit介绍及使用,单元测试快速入门教程五单元测试工具JUnit介绍及使用,单元测试快速入门教程五单元测试工具JUnit介绍及使用,单元测试快速入门教程五

    JUnit是一个开放源代码的测试框架,用在编写和运行可重复的测试脚本之上,是用于Java语言编写的面向对象程序的单元测试工具。JUnit框架功能强大,目前已经成为Java单元测试的事实标准,基本上能满足日常的测试要求。 1.Junit主要特性 (1)可以将测试代码和产品代码分别开发,便于管理。 (2)针对某一个类的测试代码,以较少的改动便可以应用    另一…

    2018年4月18日 编程开发
    12.7K0
  • 【Java面试题】15道经典的java面试题(附答案)

    Java是一种可以跨平台的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。今天,中国网页设计给大家分享15道较为经典的Java面试题,希望对你将来在企业面试中能有所帮助! 1、面向对象的特征有哪些方面? 2、访问修饰符…

    2018年8月1日
    2.3K0
  • 基于jspSmartUpload的Jsp文件上传实例

    SmartUpload是一个免费的文件上传下载组件1、使用简单:仅三五行代码就可以搞定文件的上传2、方便存取:利用组件提供的对象,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等)。3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。 下载jsmartcom_zh_CN.jar文件:http://www.125j…

    2018年12月11日
    3.2K0

发表回复

登录后才能评论