IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 必看!7天快速掌握python数据分析系列1【职场新人必备】 -> 正文阅读

[Python知识库]必看!7天快速掌握python数据分析系列1【职场新人必备】

【python】数据分析——Numpy库入门(数据可视化必备,升职加薪~

一、数据的维度

一维数据:列表和集合类型

[3.12, 3.14, 1.3124, 4.52]
{442.54, 5.52132, 6.414, 31.41}

二维数据:列表类型

[[3.12, 3.14, 1.3124, 4.52], [1.3123, 4.412, 41.43]]

多维数据:列表类型

二、NumPy的数组对象:ndarray

NumPy是一个开源的Python科学计算基础库,包含:
? 一个强大的N维数组对象 ndarray
? 广播功能函数
? 整合C/C++/Fortran代码的工具
? 线性代数、傅里叶变换、随机数生成等功能
NumPy是SciPy、Pandas等数据处理或科学计算库的基础

NumPy的引用

import numpy as np

np表示引入模块的别名
尽管别名可以省略或更改,建议使用上述约定的别名

np.array()生成一个ndarray数组

a=np.array([[0,1,2,3,4],
			[9,8,7,6,5]])
print(a)
#[[0,1,2,3,4],
# [9,8,7,6,5]]

轴(axis): 保存数据的维度;秩(rank):轴的数量

a=np.array([[0,1,2,3,4],
			[9,8,7,6,5]])
print(a.ndim) # 2
print(a.shape) #(2,5)
print(a.size) #10
print(a.dtype) # dtype('int32')
print(a.itemsize) # 4

三、ndarray数组的元素类型

在这里插入图片描述
在这里插入图片描述

四、ndarray数组的创建方法

(1)从Python中的列表、元组等类型创建ndarray数组

x= np.array([1,2,3,4,5,6]) 
print(x)   #[1,2,3,4,5,6]
x= np.array((1,2,3,4,5,6)) 
print(x)   #(1,2,3,4,5,6)
x= np.array(list/tuple, dtype=np.float32)
#当np.array()不指定dtype时,NumPy将根据数据情况关联一个dtype类型
x= np.array([5,6],[3,4],(3,6)) 
print(x)   #[[5,6],[3,4],[3,6]]

(2)使用NumPy中函数创建ndarray数组,如:arange,ones, zeros等
np.arange(n) 类似range()函数,返回ndarray类型,元素从0到n‐1
np.ones(shape) 根据shape生成一个全
1数组,shape是元组类型
np.zeros(shape) 根据shape生成一个全
0数组,shape是元组类型
np.full(shape,val) 根据shape生成一个数组,每个元素值都是val
np.eye(n) 创建一个正方的n*n单位矩阵,对角线为
1,其余为0

import numpy as np
print(np.arange(10))
#[0 1 2 3 4 5 6 7 8 9]
print(np.ones((3,6)))
# [[1. 1. 1. 1. 1. 1.]
#  [1. 1. 1. 1. 1. 1.]
#  [1. 1. 1. 1. 1. 1.]]
print(np.zeros((4,5),dtype=np.int32))
# [[0 0 0 0 0]
#  [0 0 0 0 0]
#  [0 0 0 0 0]
#  [0 0 0 0 0]]
print(np.eye(5))
# [[1. 0. 0. 0. 0.]
#  [0. 1. 0. 0. 0.]
#  [0. 0. 1. 0. 0.]
#  [0. 0. 0. 1. 0.]
#  [0. 0. 0. 0. 1.]]

(3)使用NumPy中其他函数创建ndarray数组
np.linspace() 根据起止数据等间距地填充数据,形成数组
np.concatenate() 将两个或多个数组合并成一个新的数组

import numpy as np
a=np.linspace(1,5,2)
print(a)
#[1. 5.]
b=np.linspace(1,5,2,endpoint=False)
print(b)
#[1. 3.]
c=np.concatenate((a,b))
print(c)
#[1. 5. 1. 3.]

五、ndarray数组的变换

对于创建后的ndarray数组,可以对其进行维度变换和元素类型变换

(1)ndarray数组的维度变换

import numpy as np
a=np.ones((2,3,4))
print(a.reshape((3,8)))
# [[1. 1. 1. 1. 1. 1. 1. 1.]
#  [1. 1. 1. 1. 1. 1. 1. 1.]
#  [1. 1. 1. 1. 1. 1. 1. 1.]]
import numpy as np
a=np.ones((2,3,1))
print(a.flatten())
#[1. 1. 1. 1. 1. 1.]

(2)ndarray数组的类型变换

import numpy as np
a=np.ones((2,3,6))
print(a.astype(np.float))
# [[[1. 1. 1. 1. 1. 1.]
#   [1. 1. 1. 1. 1. 1.]
#   [1. 1. 1. 1. 1. 1.]]
# 
#  [[1. 1. 1. 1. 1. 1.]
#   [1. 1. 1. 1. 1. 1.]
#   [1. 1. 1. 1. 1. 1.]]]

(3)ndarray数组向列表的转换

import numpy as np
a = np.full((2,3,5),8)
print(a)
# [[[8 8 8 8 8]
#   [8 8 8 8 8]
#   [8 8 8 8 8]]
# 
#  [[8 8 8 8 8]
#   [8 8 8 8 8]
#   [8 8 8 8 8]]]
print(a.tolist())
#[[[8, 8, 8, 8, 8], [8, 8, 8, 8, 8], [8, 8, 8, 8, 8]], 
# [[8, 8, 8, 8, 8], [8, 8, 8, 8, 8], [8, 8, 8, 8, 8]]]

六、ndarray数组的操作

数组的索引与切片

import numpy as np
a = np.array([1,2,3,4,5])
print(a[2]) #3
print(a[1:4:2]) #[2,4]

b = np.arange(24).reshape((2,3,4))
print(b)
# [[[ 0  1  2  3]
#   [ 4  5  6  7]
#   [ 8  9 10 11]]
#
#  [[12 13 14 15]
#   [16 17 18 19]
#   [20 21 22 23]]]

print(b[1,2,3]) #23
print(b[0,1,2]) #6
print(b[-1,-2,-3]) #17

print(b[:,1,-3]) #[5,17]
print(b[:,1:3,:])
# [[[ 4  5  6  7]
#   [ 8  9 10 11]]
#
#  [[16 17 18 19]
#   [20 21 22 23]]]
print(b[:,:,::2])
# [[[ 0  2]
#   [ 4  6]
#   [ 8 10]]
#
#  [[12 14]
#   [16 18]
#   [20 22]]]

七、ndarray数组的运算

(1)数组与标量之间的运算作用于数组的每一个元素

import numpy as np
a = np.arange(24).reshape((2,3,4))
print(a)
# [[[ 0  1  2  3]
#   [ 4  5  6  7]
#   [ 8  9 10 11]]
# 
#  [[12 13 14 15]
#   [16 17 18 19]
#   [20 21 22 23]]]
print(a.mean())
#11.5
print(a/a.mean())
# [[[0.         0.08695652 0.17391304 0.26086957]
#   [0.34782609 0.43478261 0.52173913 0.60869565]
#   [0.69565217 0.7826087  0.86956522 0.95652174]]
# 
#  [[1.04347826 1.13043478 1.2173913  1.30434783]
#   [1.39130435 1.47826087 1.56521739 1.65217391]
#   [1.73913043 1.82608696 1.91304348 2.        ]]]

(2)NumPy一元函数
np.abs(x) np.fabs(x) 计算数组各元素的绝对值
np.sqrt(x) 计算数组各元素的平方根
np.square(x) 计算数组各元素的平方
np.log(x) np.log10(x)
np.log2(x) 计算数组各元素的自然对数、10底对数和
2底对数
np.ceil(x) np.floor(x) 计算数组各元素的ceiling值 或 floor

np.rint(x) 计算数组各元素的四舍五入值
np.modf(x) 将数组各元素的小数和整数部分以两个独立数组形式返回
np.cos(x) np.cosh(x)
np.sin(x) np.sinh(x)
np.tan(x) np.tanh(x)
计算数组各元素的普通型和双曲型三角函数
np.exp(x) 计算数组各元素的指数值
np.sign(x) 计算数组各元素的符号值,1(+), 0, ‐1(

import numpy as np
a = np.arange(24).reshape((2,3,4))
print(np.square(a))
# [[[  0   1   4   9]
#   [ 16  25  36  49]
#   [ 64  81 100 121]]
# 
#  [[144 169 196 225]
#   [256 289 324 361]
#   [400 441 484 529]]]
print(np.sqrt(a))
# [[[0.         1.         1.41421356 1.73205081]
#   [2.         2.23606798 2.44948974 2.64575131]
#   [2.82842712 3.         3.16227766 3.31662479]]
# 
#  [[3.46410162 3.60555128 3.74165739 3.87298335]
#   [4.         4.12310563 4.24264069 4.35889894]
#   [4.47213595 4.58257569 4.69041576 4.79583152]]]
print(np.modf(a))
# (array([[[0., 0., 0., 0.],
#         [0., 0., 0., 0.],
#         [0., 0., 0., 0.]],
# 
#        [[0., 0., 0., 0.],
#         [0., 0., 0., 0.],
#         [0., 0., 0., 0.]]]), array([[[ 0.,  1.,  2.,  3.],
#         [ 4.,  5.,  6.,  7.],
#         [ 8.,  9., 10., 11.]],
# 
#        [[12., 13., 14., 15.],
#         [16., 17., 18., 19.],
#         [20., 21., 22., 23.]]]))

(3)NumPy一元函数
+‐*/ ** 两个数组各元素进行对应运算
np.maximum(x,y) np.fmax()
np.minimum(x,y) np.fmin() 元素级的最大值/最小值计算
np.mod(x,y) 元素级的模运算
np.copysign(x,y) 将数组y中各元素值的符号赋值给数组x对应元素
< >= <= == != 算术比较,产生布尔型数组

import numpy as np
a = np.arange(24).reshape((2,3,4))
b = np.sqrt(a)
print(np.maximum(a,b))
# [[[ 0.  1.  2.  3.]
#   [ 4.  5.  6.  7.]
#   [ 8.  9. 10. 11.]]
# 
#  [[12. 13. 14. 15.]
#   [16. 17. 18. 19.]
#   [20. 21. 22. 23.]]]
print(a>b)
# [[[False False  True  True]
#   [ True  True  True  True]
#   [ True  True  True  True]]
# 
#  [[ True  True  True  True]
#   [ True  True  True  True]
#   [ True  True  True  True]]]

祝贺你!已完成numpy入门学习!!!

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-26 12:04:23  更:2021-08-26 12:04:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:09:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码