Python数据分析

小白怎么开始学python-Numpy数组篇

2021-06-19  本文已影响0人  偶余杭

数组是python的主角之一,以下会记录数组的创建方法和应用

Numpy——用它来进行数组创建

在开始之前先来了解Numpy,NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

Numpy怎么安装呢?
最简单的方法是下载以下的 Python 发行版,它们包含了所有的关键包(包括 NumPy,SciPy,matplotlib,IPython,SymPy 以及 Python 核心自带的其它包)
由于我们已经安装了 Anaconda: 免费 Python 发行版,所以自带了Numpy,不用另外安装了。

如果没有安装Numpy,可以通过以下pip语句安装:

//安装
! pip install numpy
//导入
import numpy as np 

创建一个 ndarray(N维数组) 只需调用 NumPy 的 array 函数即可:
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
参数说明:
object 数组或嵌套的数列
dtype 数组元素的数据类型,可选
copy 对象是否需要复制,可选
order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok 默认返回一个与基类类型一致的数组
ndmin 指定生成数组的最小维度

数组产生

数组产生方法:

  • 通过list
  • 通过tuple
  • 通过list of list
  • 通过list of tuple
  • 通过function
    • arange-等差数组
    • linspace-等差数组
    • logspace-等比数组
    • zeros-全0数组
    • ones-全1数组
    • random-随机数组

自定义数组

#引入numpy
import numpy as np;
#list产生数组
np.array([3,2])
#list of list
np.array([[3,2]])
#二维list
np.array([3,2],ndmin=2)
#tuple
np.array((3,2))
#二维list
np.array((3,2),ndmin=2)
#二维数组
np.array([[3,2],[3,4]])
np.array([(2,3),(3,4)])
#设置数据类型
np.array([[1,2],[3,4]],dtype='float')
np.array([[1,2],[3,4]],dtype='str')

等差数组

1、使用arange函数,参数为开始、结束、等差值


image.png

使用reshape函数可以设置维度,参数为行数、列数


image.png
当列数为-1时,自动计算适配,不用我们自己计算
image.png

设置数据类型


image.png
2、使用linspace设置等差数列,参数为开始、结束,数据个数
image.png

等比数列

使用lospace设置等比数列,参数为开始、结束,数据个数,等比base(默认是10)


image.png

全0\1数组

image.png

随机数组

image.png

需要固定随机结果,设置seed:


image.png

随机生成正太分布数据


image.png
随机生成整数数据
image.png

数组属性

ndarray.ndim 秩,即轴的数量或维度的数量
ndarray.shape 数组的维度,对于矩阵,n 行 m 列
ndarray.size 数组元素的总个数,相当于 .shape 中 n*m 的值
ndarray.dtype ndarray 对象的元素类型
ndarray.itemsize ndarray 对象中每个元素的大小,以字节为单位
ndarray.flags ndarray 对象的内存信息
ndarray.real ndarray元素的实部
ndarray.imag ndarray 元素的虚部
ndarray.data 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。

image.png

数组转置


image.png

数据选择

一维数组选择


image.png

多维数组选择


image.png

条件选择

image.png

数组计算

image.png
a=np.array([[1,2,3,4],[5,6,7,8]])
#求和
np.sum(a)
#按行求和
np.sum(a,axis=1)
#按列求和
np.sum(a,axis=0)
#累积求和
np.cumsum(a)
#按行累积
np.cumsum(a,axis=1)
#求均值
np.mean(a)
#按行求均值
np.mean(a,axis=1)
#求均值
np.average(a)
#加权求均值
np.average(a,axis=1,weights=[1,2,3,4])
#求中位数
np.median(a)
#按行求中位数
np.median(a,axis=1)
#求百分位数
np.percentile(a,q=[50,100])
#求方差
np.var(a)
#求标准差
np.std(a)
#求最小值
np.min(a)
#求最大值
np.max(a)
#按列求最小值
np.min(a,axis=0)
#求最大值索引
np.argmax(a)
#四舍五入
np.round([1.3,4.5,3.9])
np.floor([1.3,4.5,3.9])
np.ceil([1.3,4.5,3.9])
#排序
np.sort(a)
#倒序
-np.sort(-a)
#选择
np.where(a>50,">50",'<=50')
#提取
np.extract(a>50,a)

数组拷贝

数组展开和合并

String基本操作

数据保存

上一篇 下一篇

猜你喜欢

热点阅读