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)
相关推荐
Bartender_Jill9 分钟前
[ROS2]解决PyQt5和sip的各种报错问题 stderr: qt_gui_cpp
开发语言·python·qt·机器人·数据可视化
qq_5065342214 分钟前
【python】追加写入excel
python·excel
gofind29 分钟前
python安装教程
开发语言·python
Mr_Happy_Li31 分钟前
利用GPU进行训练
python·深度学习·神经网络·机器学习·计算机视觉
Studying 开龙wu35 分钟前
OpenCV图像处理学习前简介
图像处理·python·opencv·计算机视觉
橘子海全栈攻城狮42 分钟前
【源码+文档+调试讲解】基于Android的固定资产借用管理平台
android·java·spring boot·后端·python·美食
luthane1 小时前
python 实现多启发式a star(A*)算法
python·算法·机器学习
名本无名1 小时前
单细胞转录组 —— kb-python 原始数据处理
开发语言·windows·python
蜡笔小新星1 小时前
Python Kivy 事件与交互教程
开发语言·经验分享·python·学习·交互