python数据分析

Python是一种非常流行的编程语言,尤其在数据分析领域。Python拥有丰富的库和框架,可以帮助你执行各种数据分析任务。Python常用的数据分析工具之一:NumPy。

Numpy用于进行大规模数值和矩阵运算,提供了多维数组对象和一系列操作这些数组的函数。

numpy-base:

numpy-base是NumPy包的一个子集,它提供了NumPy的核心功能。以下是一些numpy-base包含的功能:

(1)多维数组对象(ndarray):NumPy的核心数据结构,用于存储同质数据类型的元素。

(2)数组创建和操作:创建数组,数组切片,数组拼接等。

(3)数学函数:执行基本的数学运算,如加减乘除,三角函数等。

(4)索引和切片:提供灵活的索引和切片操作来访问和修改数组中的元素。

(5)数据类型:定义和使用不同的数据类型,如整数,浮点数等。

1.创建NumPy类型的数组:

复制代码
import numpy as np
#创建一维数组:
d = np.arange(15)
print(d)
#创建二维数组:
d1 = d1.reshape(3,5)
print(d1)
#创建三维数组:
d2= np.arange(15).reshape(5,3)
print(d2)

创建数组的四种方式:

复制代码
import numpy as np
#方式1
data1 = np.arange(15).reshape(5,3)
print(data1)
#方式2
#创建全0矩阵
print(np.zeros(10))         #一维数组
print(np.zeros((2,5)))      #二维数组
print(np.zeros((2,3,4)))    #三维数组
#方式3
#创建创建全1矩阵
print(np.ones(10))          #一维数组
print(np.ones((2,5)))       #二维数组
print(np.ones((2,3,4)))     #三维数组
#方式4
print(np.empty((1,2,3)))

2.转换数据类型:

复制代码
import numpy as np

data = np.array([1,2,3,4,5,6])
#输出数据类型,类型为int。
print(data.dtype)

#类型转换 将int转化为float
data = np.array([1,2,3,4,5,6],dtype=np.float64)
#输出数据类型,类型为float。
print(data.dtype)

#类型转换 将float转化为int
data = data.astype(np.int32)
#输出数据类型,类型为int。
print(data.dtype)

3.索引与切片

索引和切片用于获取数组中部分的数据,尤其是切片

(1)索引
一维数组:
复制代码
import numpy as np

data = np.array([1,2,3,4,5,6])
print(data)
#获取数字4的值,通过下标值指向要获取的数据,下标值由0开始至无限大
print(data[3])
#负数从右侧向左侧数,通常情况用于获取最后一个数,[-2]为数组中的5
print(data[-2])
二维数组:
复制代码
import numpy as np

#创建一个2行7列的二维数组
data = np.arange(14).reshape(2,7)

#输出结果为[[0 1 2 3 4 5 6] [7 8 9 10 11 12 13]]
print(data)

#输出结果为第一行第五列,数据为4
print(data[0,4])

#输出结果为倒数第一行倒数第一列,数据为13
print(data[-1,-1])

#输出结果为倒数第一行倒数第一列和第一行倒数第一列,数据为13,6
print(data[-1,-1],data[0,-1])
三维数组:
复制代码
import numpy as np

#创建一个   [[[0 1 2 3 4]          的三维数组
#             [5 6 7 8 9]
#             [10 11 12 13 14]]
#
#            [[15 16 17 18 19]
#             [20 21 22 23 24]
#             [25 26 27 28 29]]]
data = np.arange(30).reshape(2,3,5)
print(data)

#输出结果为15
print(data[1,0,0])

#输出结果为14,29
print(data[0,2,-1],data[-1,-1,-1])

#同上,两种不同写法
print(data[0][2][-1],data[-1][-1][-1])
(2)切片
一维数组:
复制代码
import numpy as np

data = np.array([1,2,3,4,5,6])
#a~b,a<=x<b ,左闭右开

#输出结果为[1,2,3]
print(data[0:3])

#输出结果为[3,4,5,6]
print(data[2:])

#输出结果为[1,2,3,4]
print(data[:4])

#输出结果为[1,2,3,4]
print(data[:-2])
二维数组:
复制代码
import numpy as np

data = np.arange(14).reshape(2,7)
print(data)
#参数1:行参数
#参数2:列参数

#输出结果为[[7 8 9]]
print(data[1:,:3])

#输出结果为[[3][10]]
print(data[:,3:4])

#输出结果为[[10]]
print(data[1:,3:4])    
三维数组:
复制代码
import numpy as np

data = np.arange(30).reshape(2,3,5)
print(data)
print(data[0:1,:,0:2])
print(data[0:1,2:,0:2])
print(data[0:1,2:,:])

4.numpy数据运算:

复制代码
import numpy as np

a = np.random.random(10000)*10
b = np.random.random(10000)*10
print(a)
print(b)
#算术运算
#加
print(a+b)
print(np.add(a,b))
#减
print(a-b)
print(np.subtract(a,b))
#乘
print(a*b)
print(np.multiply(a,b))
#除
print(a/b)
print(np.divide(a,b))

#数学运算
ang = np.array([0,30,45,60,90,120,135,150,180])
rad = np.sin(ang*np.pi/180)
print(rad)

#统计运算
data = np.array([1,2,3,4,5])
#求平均值
print(data.mean())
print(np.average(data))
# 配置权重
print(np.average(data,weights=np.array([2,2,1,1,1])))
print(np.average(data,weights=np.array([1,1,1,2,2])))
#求中位数
print(np.median(data))
#求方差
print(np.var(data))
#标准差
print(np.std(data))

#聚合运算
#累加
print(np.sum(data))
#累乘
print(np.prod(data))
#求最大值
print(np.max(data))
#求最小值
print(np.min(data))

data = np.array([1,2,3,4,5])
#筛选,排序
#输出选中数据的下标值
print(np.where(data>3))
print(np.where(data>1))
print(np.where(data<3))
#排序
print(np.sort([5,3,7,9,1,4,2,3,6,8]))
print(np.sort([5,3,7,9,1,4,2,3,6,8])[::-1])

5.numpy的矩阵运算

复制代码
import numpy as np
#创建三行五列的矩阵
a = np.arange(15).reshape(3,5)
#创建三行五列的矩阵,数据从15-29
b = np.arange(15,30).reshape(3,5)
#创建一个一维数组
c = np.array([9,8,7,6,5])
print(a+c)
print(a-c)
print(a*c)
print(2*a)

d = np.arange(6).reshape(2,3)
print(d)
#T代表转置,将行向量转化为列向量
print(d.T)
相关推荐
BYSJMG2 分钟前
计算机毕设选题:基于Python+MySQL校园美食推荐系统【源码+文档+调试】
大数据·开发语言·python·mysql·django·课程设计·美食
CodeCraft Studio7 小时前
PDF处理控件Aspose.PDF教程:使用 Python 将 PDF 转换为 Base64
开发语言·python·pdf·base64·aspose·aspose.pdf
困鲲鲲8 小时前
Python中内置装饰器
python
摩羯座-185690305948 小时前
Python数据可视化基础:使用Matplotlib绘制图表
大数据·python·信息可视化·matplotlib
爱隐身的官人9 小时前
cfshow-web入门-php特性
python·php·ctf
gb42152879 小时前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
THMAIL9 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
~-~%%9 小时前
从PyTorch到ONNX:模型部署性能提升
人工智能·pytorch·python
蒋星熠9 小时前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
爬虫程序猿10 小时前
《京东商品详情爬取实战指南》
爬虫·python