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

  • 精典Arduino入门小项目-手机APP控制LED灯

    本文主要介绍了一个典型的Arduino入门小项目-手机APP控制LED灯,包括需要的硬件、软件(提供下载地址),源码,只需根据教程操作,就能做出一个完整项目!

    2023年2月3日
    7.9K0
  • Ubuntu在线体验(不用安装) 

    Ubuntu是一个以桌面应用为主的Linux操作系统,是非常轻量级的操作系统,全球领先的用于个人电脑、平板及手机的操作系统。 想过要体验下Ubuntu,其实不用那么麻烦,在线就能体验该系统!! 在任意浏览器打开链接https://www.ubuntu.org.cn/tour/zh-CN/ (中文)、https://www.ubuntu.org.cn/tour…

    2022年9月1日
    16.1K0
  • createStatement参数详解,带参数与不带参数的区别

    Connection接口的createStatement方法,可用来创建向数据库发送SQL语句的对象,用于执行SQL语句。 常用代码: Statement stmt = con.createStatement(); Statement stmt = con.createStatement (int resultSetType,int resultSetCon…

    2018年10月23日
    10.5K0
  • 5分钟快速入门AJAX

    什么是AJAX? 第一步:如何发出一个HTTP请求第二步:处理服务器的响应第三步:一个简单的例子第四步:与XML响应协同工作 什么是AJAX AJAX是一个新的合成术语,隐含了两个已经存在多年的JavaScript特性,但是直到最近,随着一些诸如Gmail、Google Suggest以及Google Maps的轰动,才被许多网络开发者所注意到。 我们所讨论…

    2020年4月4日
    8.1K0
  • Python数据分析及可视化,科学计算练习题

    第一章 单元测试 1、 问题:数据分析是指通过分析手段、方法和技巧对准备好的数据进行探索、分析,从中发现因果关系、内部联系和业务规则,为商业提供决策参考。( )选项:A:对B:错答案: 【对】 2、 问题:Anaconda中包含了conda、Python在内的超过18个科学包及其依赖项。( )选项:A:对B:错答案: 【对】 3、 问题:数据分析是一个有目的…

    2022年1月29日
    29.0K1
  • tomcat配置中autodeploy 和reloadable的区别和使用场景

    tomcat配置中的autodeploy 和reloadable: <Context docBase=”xxx” path=”/xxx” reloadable=”true”/> <Context docBase=”xxx” path=”/xxx” autoDeploy=”true”/> 替换WEB-INF/lib目录中的jar文件或W…

    2018年12月25日
    8.2K0

发表回复

登录后才能评论