python 数据分析

数据分析

数据分析是指用适当的方法对收集的数据进行分析,提取有用信息并且形成结论.

广义的数据分析包括狭义的数据分析和数据挖掘.狭义的数据分析是指根据目的,采用对比分析,分组分析,交叉分析,回归分析等分析方法,对数据进行分析和处理,得到特征统计量的过程.数据挖掘是指从大量的,不完全的,有噪声的,模糊的噪声中,通过应用聚类模型 分类模型  回归和关联规则等技术,挖掘潜在价值的过程.

数据预处理是指对数据进行数据合并、数据清洗、数据标准化、和数据变换。

数据合并是指将多张互相关的表格合并为一张。数据清洗是指去掉重复、缺失、异常的数据。数据标准化可以去除特征间的量纲差异。数据变换可以通过离散化、哑变量处理技术满足后期分析和建模的需求。

分析与建模是指通过对比分析、分组分析、交叉分析、回归分析等分析方法,以及聚类模型、分类模型、关联规则、智能推荐等模型与算法,发现数据中的有价值信息,并得出结论的过程。

模型评价。聚类模型评价指标有兰德系数、互信息。常用分类模型的评价指标有准确率、精确率、召回率、ROC和AUC。常用回归模型的评价指标有平均绝对误差、均方误差。

模型优化。模型达到性能之后,在实际的应用过程中,发现模型的性能并不理想,然后继续对模型进行重构和优化的过程。

数据分析应用

  • 客户分析。根据已有的数据来对客户进行特征分析,用以判断用户的忠诚度、喜好,使得运营策略达到最优,提升企业的整体效益
  • 社交媒体分析。通过不同社交媒体渠道生成的内容,分析客户的兴趣爱好、行为。
  • 网络安全。传统的网络安全依靠静态防御,在发现病毒威胁的时候做出反应。新型的病毒防御系统可使用数据分析技术,建立潜在攻击分析模型、检测网络活动数据和相应的访问行为。
  • 设备管理。通过物联网技术收集分析数据,包括连续用电、零部件温度、环境湿度和污染物颗粒等多种潜在特征,建立设备管理模型。
  • 交通物流分析。

Numpy数值计算基础

数组对象

数组属性

  • ndim。数组的维数
  • shape。数组的尺寸
  • size。数组元素的总数
  • dtype。数组元素类型
  • itemsize。每一个元素的大小(以字节为单位)
import numpy as nparray=np.array([1,2,3,4])
print(array.shape)
print(array.dtype)
print(array.itemsize)
print(array.size)
print(array.ndim)

numpy数组中所有元素必须都是同一类型的,这样可以更好确定数组所需要的存储空间。

生成随机数

import numpy as np# 生成随机数
# 这里的随机数是伪随机数,随机数相关的函数都在random模块中,包括了生成多种概率分布的随机数的函数a=np.random.random(10)
print(a)# 生成均匀分布的随机数
b=np.random.rand(10)
print(b)
#生成正太分布
c=np.random.randn(10)
print(c)
# randint 生成给定范围的是随机数  randint(low,high,size,dtype)
d=np.random.randint(1,10,1)
print(d)
# permutation 返回一个序列的随机排列
e=np.arange(1,10,1)
print(e)
np.random.shuffle(e)
print(np.random.permutation(e))
print(e)
# beta分布
f=np.random.beta(1,10,1)
print(f)

矩阵和通用函数

矩阵是ndarray的子类。numpy提供了两个基本的对象,一个是N维数组,一个是通用的函数对象。矩阵是建立在一维数组之上的二维数组。 

import numpy as np# matrix创建矩阵
a=np.matrix([[1,2,3],[4,5,6]])
print(a)
print(a.ndim)#矩阵数乘
b=a*3
print(b)
# 矩阵相加
c=a+b
print(c)
# 矩阵相乘
d=a*c.T
print(d)#矩阵对应元素相乘
f=np.multiply(a,b)
print(f)#转置矩阵
print(a.T)
#逆矩阵
print(a.I)
# 共轭转置
print(a.H)

ufnc函数

ufunc函数是一种可以对数组中所有元素都进行操作的函数。

import numpy as np# 常用的数组运算
x=np.array([1,2,3])
y=np.array([4,5,6])
print('数组相乘',x*y)  #对应元素相乘
print('数组相除',x/y)
print('数组幂运算',x**y)
# 比较运算
print('数组比较结果',x>y)
# 逻辑运算
print('逻辑运算',np.all(x==y))

numpy进行数据分析

读写文件

NumPy的文件读/写主要有二进制的文件读/写和文件列表形式的数据读/写两种形式。学会读/写文件是利用NumPy进行数据处理的基础

import numpy as npx=np.arange(1,10,1)
print(x)
y=np.array([1,2,3])
# 保存数组
np.save('./save_arr.npy',x)# 导入数组
b=np.load('./save_arr.npy')
print(b)#保存多个数组
np.savez('./hh.npz',x,y)# 导入数组
c=np.load('./hh.npz')
print(c['arr_0'])
print(c['arr_1'])
import numpy as np# savetxt保持到txt文件中
a=np.arange(1,10,1).reshape(3,3)
print(a)
np.savetxt('./hh.txt',a,fmt='%d')b=np.loadtxt('./hh.txt')
print(b)

统计分析

排序

import numpy as npa=np.arange(1,10,1)
np.random.shuffle(a)
print(a)
# 排序
# 直接排序,直接对数值进行排序
b=np.sort(a,axis=0)
print('直接排序',b)
# 间接排序,根据一个值对数据集进行排序
c=np.argsort(a)  #返回重新排序值的下标
print('间接排序',c)
d=a[c]
print('排序后的结果',d)

 去重和重复数据

import numpy as npnames=np.array(['小黄','小白','小明','小白'])# 去重
a=np.unique(names)
print('去重后的数组',a)#重复
b=np.tile(names,3)
print('重复三次',b)c=np.repeat(names,3,axis=0)
print(c)

常用的统计函数

import numpy as npa=np.arange(20).reshape(4,5)
print(a)# 计算数组的和
print(np.sum(a))
print(np.sum(a,axis=0))
print(np.sum(a,axis=1))# 计算均值
print(np.mean(a))# 计算标准差
print(np.std(a,axis=0))# 计算方差
print(np.var(a))# 计算最小元素索引
print(np.argmin(a))

参考:

Python数据分析与应用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/256577.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

异想天开 | 如何实现PXE可视化?批量主机PXE如何监控状态?

这个问题源于早几年前印象比较深刻的面试,面的岗位是UCloud的CDN运维交付岗,当时面试官问我,在批量PXE的时候怎么才能快速确认是否已经PXE成功了?我当时的回答是可以看dhcp服务器分配的地址数量来确定。我已经忘记了为什么我会说出…

/proc/sys/net/ipv4/ 下网络参数的理解

/proc/sys/net/ipv4/下文件详细解释: /proc/sys/net/ipv4/下文件 /proc/sys/net/ipv4/ip_forward 该文件表示是否打开IP转发。 0,禁止 1,转发 基本用途:如VPN、路由产品的利用; 出于安全考虑,Linux系…

postcss-pxtorem实现页面自适应的原理

先声明一点这玩意本身不能实现哈,他只是一个工具,更是一个postcss的插件 帮助我们从px转化成为rem比如我们的代码 div {height: 100px;width: 100px; }经过这个插件转化之后变成 假设变成下面这样哈 div {height: 1rem;width: 1rem; }其他没啥子太大作…

灯塔资产管理系统魔改版搭建(ARL-Puls)

免责声明 文章仅做经验分享用途!利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!!! 简介 ARL-Puls是基于斗…

网络层(1)——概述

一、概述 网络层毫无疑问是最复杂的一层,涉及到大量的协议与结构的内容。在如今主流的设计中,大家都会把网络层分成两个部分:数据平面、控制平面。其中数据平面指的是网络层中每台路由器的功能,它决定了到达路由器端口输入链路之一…

[MySQL--基础]事务的基础知识

前言 ⭐Hello!这里是欧_aita的博客。 ⭐今日语录:生活中最重要的决定就是要做出决定。 ⭐个人主页:欧_aita ψ(._. )>⭐个人专栏: 数据结构与算法 MySQL数据库 事务的目录📕 前言事务简介🚀事务操作🚀准…

Spring boot 使用Redis 消息发布订阅

Spring boot 使用Redis 消息发布订阅 文章目录 Spring boot 使用Redis 消息发布订阅Redis 消息发布订阅Redis 发布订阅 命令 Spring boot 实现消息发布订阅发布消息消息监听主题订阅 Spring boot 监听 Key 过期事件消息监听主题订阅 最近在做请求风控的时候,在网上搜…

javaee实验:Spring Boot 整合 Mybatis

目录 MybatisMyBatis 框架简介Mybatis 框架执行流程图映射器 实验目的实验内容实验过程数据库准备项目结构代码实现 实验结果 Mybatis MyBatis 框架简介 Mybatis 的前身是 Apache 的开源框架 iBatis,与 Hibernate 一样是一个 Java 持久层的框 架。Mybatis 的优势在…

SpringBoot框架+原生HTML开发,基于云端SaaS服务方式的电子病历编辑器源码

一体化电子病历编辑器源码,电子病历系统 一体化电子病历系统基于云端SaaS服务的方式,采用B/S(Browser/Server)架构提供,覆盖了医疗机构电子病历模板制作到管理使用的整个流程。除实现在线制作内容丰富、图文并茂、功能…

题目:回文判定(蓝桥OJ 1371)

题目描述&#xff1a; 解题思路&#xff1a; 可以采用双指针判断&#xff08;这里说的指针其实是用下标表示&#xff09;。 题解&#xff1a; #include<bits/stdc.h> using namespace std;const int N 1e6 9;//注意大小 char s[N];//在全局写&#xff0c;默认内部为空…

常见动物经济手术3d模拟交互演示教学实现了教育资源的共享

动物常见病防治是兽医必备的技能&#xff0c;为了让实习兽医在上岗作业前拥有丰富的常见病防治经验。借助动物常见病防治VR虚拟仿真技术开展动物常见病防治VR模拟实操培训&#xff0c;能极大方便院校实训。 提高教学质量 传统的动物医学教学往往依赖于理论知识和实验室实践&…

RHEL8_Linux硬盘管理

主要介绍Linux磁盘管理 了解分区的概念对硬盘进行分区常见的分区swap分区的管理 1.了解分区的概念 1&#xff09;新的硬盘首先需要对其进行分区和格式化&#xff0c;下面来了解以下硬盘的结构&#xff0c;如图。 2&#xff09;硬盘的磁盘上有一个个圈&#xff0c;每两个圈组…