0
点赞
收藏
分享

微信扫一扫

Python数据分析与展示(笔记一)

巧乐兹_d41f 2022-02-14 阅读 87

目录

1.数据的维度

2.numpy的数组对象:ndarray

3.ndarray数组的创建和变换

4.ndarray数组的操作

5.ndarray数组的运算

6.案例(用numpy创建一个二维或多维正态分布随机数,保留符合[0, 1)的数,然后求平均值)


1.数据的维度

一维数据:

一维数据由对等关系的有序或无序数据构成,采用线性方式组织。对应列表、数组和集合等概念。

列表和数组:一组数据的有序结构。

区别:

列表:数据类型可以不同

数组:数据类型相同

二维数据:

二维数据由多个一维数据构成,是一维数据的组合形式。

表格是典型的二维数据。其中,表头是二维数据的一部分

多维数据:

多维数据由一维或二维数据在新维度上扩展形成。例如增加时间维度的表格

高维数据:

高维数据仅利用最基本的二元关系展示数据间的复杂结构。利用键值对将数据组织起来的形成的数据关系。

数据维度的Python表示

一维数据:列表(有序)和集合(无序)类型

二维数据:列表类型

多维数据:列表类型

高维数据:字典类型或数据表示格式(JSON、XML、YAML)
 

2.numpy的数组对象:ndarray

NumPy是一个开源的Python科学计算基础。NumPy提供了一个强大的N维数组对象ndarray,广播功能函数,整合C/C++/Fortran代码的工具,线性代数、傅里叶变换、随机数生成等功能。

  • np.array()生成一个ndarray数组
  • ndarray在程序中的别名是:array

引用格式:

import numpy as np

3.ndarray数组的创建和变换

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

x = np.array(list/tuple)
x = np.array(list/tuple,dtype=np.float32)

当np.array()不指定dtype时,NumPy将根据数据情况关联一个dtype类型

(2)使用Numpy中函数创建ndarray数组,如:arange,ones,zeros等

reshape和resize:

reshape不修改原始数据
resize修改原始数据
 

4.ndarray数组的操作

ndarray数组的类型变换:new_a = a.astype(new_type)
如:a = np.ones((2,3,4), dtype=np.int)
ndarray数组向列表的转换

ls = a.tolist()

索引:获取数组中特定位置元素的过程

In [54]: a = np.arange(24).reshape((2,3,4))

In [55]: a
Out[55]:
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]]])

In [56]: a[1,2,3] # 每个维度一个索引值,逗号分割
Out[56]: 23

In [57]: a[0,1,2]
Out[57]: 6

In [58]: a[-1,-2,-3]
Out[58]: 17

切片: 获取数组元素子集的过程

In [59]: a[: , 1, -3]         # 选取一个维度用
Out[59]: array([ 5, 17])

In [60]: a[: , 1:3, :] # 每个维度切片方法与一维数组相同
Out[60]:
array([[[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],

[[16, 17, 18, 19],
[20, 21, 22, 23]]])

In [61]: a[: , :, ::2] # 每个维度可以使用步长跳跃切片
Out[61]:
array([[[ 0, 2],
[ 4, 6],
[ 8, 10]],

[[12, 14],
[16, 18],
[20, 22]]])

5.ndarray数组的运算

 

6.案例(用numpy创建一个二维或多维正态分布随机数,保留符合[0, 1)的数,然后求平均值)

#用numpy创建一个二维或多维正态分布随机数,保留符合[0, 1)的数,然后求平均值
import numpy as np #导入numpy库,别名np
a=np.random.randn(3,3) #创建一个三行三列的正态分布随机数
b=a[(a>=0)&(a<1)] #取出>=0并且<1的随机数,并赋值给b
print("a",a)
print("b",b)
print(b.mean()) #取平均值

输出结果:

 

学习视频:

Python数据分析与展示 - 北京理工大学(最全)_哔哩哔哩_bilibili

举报

相关推荐

0 条评论