数据分析三大件

news2024/11/26 13:31:28

一、jupyter的基本使用

在这里插入图片描述

二、Numpy

2.1 numpy的创建

在这里插入图片描述

#使用array()创建一个多维数组
import numpy as np
arr=np.array([1,2,3])

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.2 numpy的属性

在这里插入图片描述

修改数组的元素类型

在这里插入图片描述

2.3 索引和切片

(1)行切片

在这里插入图片描述

(2)列切片

在这里插入图片描述

在这里插入图片描述

注意列切片
在这里插入图片描述
在这里插入图片描述

(3)综合切片

在这里插入图片描述

在这里插入图片描述

(4)倒置

在这里插入图片描述

在这里插入图片描述

* 将图片进行翻转

在这里插入图片描述
在这里插入图片描述

* 裁剪图片

在这里插入图片描述

(5)变形

多维变成一维数组
在这里插入图片描述
一维变多维
在这里插入图片描述

(6)级联操作

只能维度相同的级联
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

* 拼图操作

在这里插入图片描述

(7)聚合操作

在这里插入图片描述

数学相关

常用数学函数在这里插入图片描述
>

方差是标准差的平方

在这里插入图片描述

矩阵相关

在这里插入图片描述
转置
在这里插入图片描述
相乘
在这里插入图片描述

三、Pandas

主要用于 存储非数值的数据类型
在这里插入图片描述
这是两种不同的数据结构
在这里插入图片描述

3.1 Series

在这里插入图片描述
在这里插入图片描述

索引值变为a,b,c,d。

在这里插入图片描述
在这里插入图片描述

3.2 索引和切片

在这里插入图片描述
在这里插入图片描述

3.3 属性

表示一维数组
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
series也只能存储同类型数据

3.4 常用方法

(1)取数据

在这里插入图片描述
在这里插入图片描述

(2)对元素进行判断

在这里插入图片描述
并且每个数组的数据类型为布尔值
在这里插入图片描述

(3)算数运算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 Dataframe

(1)创建

由多个Series组成,是个二维数据。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(2)属性

在这里插入图片描述

在这里插入图片描述

* 练习

在这里插入图片描述

dic={
    '张三':[150,150,150,300],
    '李四':[0,0,0,0]
}
df=DataFrame(data=dic,index=['语文','数学','英语','理综'])
df

在这里插入图片描述

(3)索引

在这里插入图片描述

取列

在这里插入图片描述

  • 取单列

在这里插入图片描述

  • 取a,c两列

在这里插入图片描述

取行、单个元素

在这里插入图片描述

iloc和loc

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)切片

在这里插入图片描述

* 应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 股票小项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(1)需求1:输出所有 收盘比开盘上涨3%的日期

在这里插入图片描述

(2)需求2:输出开盘比前日收盘跌幅超过2%的日期

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import tushare as ts
import pandas as pd
from pandas import DataFrame,Series
import numpy as np

# 获取某只股票的历史行情数据
df=ts.get_k_data(code='600519',start='2000-01-01') 
df

# 将互联网上获取的股票数据存储到本地
df.to_csv('./maotai.csv')

# 将本地存储的数据读入到df中
pd.read_csv('./maotai.csv')
df.head()

# 对读取出的数据进行相关处理
# 查看每一列的数据类型
df['date'].dtype

# 另一种方法
df.info()

# 将time列转换为时间序列
df['date']=pd.to_datetime(df['date'])
df['date'].dtype

# 将时间作为原数据的行索引
df.set_index('date',inplace=True)

df.head()

### 需求1:输出所有 收盘比开盘上涨3%的日期

# 伪代码:(收盘-开盘)/开盘 > 0.03
true_index=(df['open']-df['close'])/df['open']>0.03 # 获取到行索引
new=df.loc[true_index]## 得到全是股票上涨的数组
new.index

(new['open']-new['close'])/new['open']>0.03  #验证一下获取到的数据

(df['open']-df['close'])/df['open']>0.03 # 原来是有true用false

### 需求2:输出开盘比前日收盘跌幅超过2%的日期

# 伪代码:(开盘-前日收盘)/前日收盘 < -0.02
df['close'] 

# 使原始代码的close列整体下移一位
# 前日收盘
df['close'].shift(1)

# 成功获取到索引
(df['open']-df['close'].shift(1))/df['close'].shift(1)<-0.02

# 成功获取到日期
df.loc[(df['open']-df['close'].shift(1))/df['close'].shift(1)<-0.02].index

### 需求3: ![image-3.png](attachment:image-3.png)

# 时间节点2010-2023  
#一手股票:100支股票
# 一个完整的年,需要买/卖多少支股票?1200
# 单价使用开盘价 

new=df['2010-01':'2023-6'] #行索引是时间序列才可以这样切
new

# 获取每个月的第一个交易日——使用 数据的重新取样技术
# 根据月份从原始数据中提取每月第一个交易日
the_first=new.resample('M').first()
the_first

the_first['open']


3.4 DataFrame 数据清洗

出现的情况在这里插入图片描述

(1)丢失的数据

有两种丢失数据
None对象类型
np.nan浮点类型

在这里插入图片描述

两者 的区别liangzhe
在这里插入图片描述

(2)处理空值的操作

删除空值所在的行

不能删除列,只能删除行。
需使用到isnull ,notnull ,any ,all

df.drop()dd的使用在这里插入图片描述> 在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

dropna一步到位
在这里插入图片描述

对缺失值(空值)进行覆盖

当删除的成本过高时,选择覆盖
在这里插入图片描述

(3)处理重复数据drop_duplicates

在这里插入图片描述

(4)处理异常数据

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(5)级联操作

不匹配级联时,若想保留数据的完整性,必须使用outer(外级联)

在这里插入图片描述

进行横向或纵向拼接
在这里插入图片描述
在这里插入图片描述

append 只能是外级联
在这里插入图片描述
在这里插入图片描述

(6)合并!!

是对数据的合并
级联就只是做拼接
级联可以拼接多张表,合并只能对两个表进行操作
在这里插入图片描述

在这里插入图片描述
上方红圈处,与下方相同
on='name'默认就是相同列
在这里插入图片描述

3.5人口分析小项目~

在这里插入图片描述

3.6 替换操作

在这里插入图片描述
在这里插入图片描述

3.7 map——映射&运算工具

在这里插入图片描述

注意!!!
map是Series的方法,只能被它调用。
在这里插入图片描述

map充当运算工具
在这里插入图片描述

3.8 随机抽样

在这里插入图片描述

在这里插入图片描述

将原始数据随机打乱(按列打乱)

在这里插入图片描述
在这里插入图片描述

随机抽样

在这里插入图片描述

3.9 分组聚合

分组
在这里插入图片描述

分组聚合

在这里插入图片描述

!!!!!!这里是引用

高级数据聚合

分组聚合后,根据自定义函数(方法),完成特地功能。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.10 !!透视表和交叉表——26集

在这里插入图片描述

读取数据库中的数据

在这里插入图片描述

(1)透视表

在这里插入图片描述主要做分类汇总
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.11 !!美国大选献金项目数据分析

在这里插入图片描述

四、Matplotlib

4.1 绘制线形图

在这里插入图片描述
在这里插入图片描述

绘制多条线形图(两种方法)
在这里插入图片描述
在这里插入图片描述

(1)设置坐标系比例

figure的调用一定要放在绘图之前,否无效果
在这里插入图片描述坐标轴刻度不发生改变

(2)设置图例

在这里插入图片描述
在这里插入图片描述

(3) 设定 轴名、图名

在这里插入图片描述

(4) 图像的保存

在这里插入图片描述
在这里插入图片描述

(5) 曲线的风格和样式

在这里插入图片描述

4.2 柱状图

在这里插入图片描述
在这里插入图片描述

4.3 直方图

在这里插入图片描述
在这里插入图片描述

4.4 饼图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.5 散点图

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高压线路距离保护程序逻辑原理(二)

二、选相子程序原理 距离保护的故障处理程序逻辑的第一步是判别故障相&#xff0c;即选相。只有判定了故障的种类及相别&#xff0c;才能确定阻抗计算应取用什么相别的电流和电压&#xff0c;例如BC相故障取和&#xff0c;A相接地故障取和十3&#xff08;详见第二章第二节解微…

远程桌面连接已开启无法连接?快解析助力远程访问

一、如何开启远程桌面 查询并记录远程计算机的IP&#xff0c;点击“开始——运行”&#xff0c;输入“cmd”命令后回车&#xff0c;准确查看并记录ipadress在计算机上右键&#xff0c;选择属性&#xff0c;点击远程设置&#xff0c;在弹出来的设置界面中&#xff0c;勾选“允许…

HFUT Data Structure Experiment: SkipList

写给我的学弟 如果你看到了这个题&#xff0c;赶快跑&#xff0c;千万别选。 这个题的图形化会让你非常痛苦。并且这道题只有小小85分&#xff0c;为啥不换个85分的更简单的&#xff1f;或者换个90分以上的题不好吗。 如果你单单想学习一下这个数据结构&#xff0c;那挺好的&…

xftp下载安装及简单使用

一、xftp简介 Xftp是一个功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后&#xff0c;MS Windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导&#xff0c;它简单的界面能与其他…

GEACC-5595交换机

GE反射内存交换机特性 l 1 到 8 口可配置SFP收发器 l 大可级联256个节点 l 自动旁路故障节点 l 自动旁路模式可选 l 配置可选节点传输距离达10公里 l 可插拔收发器支持单模或者多模模式 l 1x8 口或者2x4 口 l 可以通过串口了解状态进行设置 概述 GE反射内存交换机&#xff08;以…

Linux-- . 和 ..

一、含义&#xff1a; . :表示当前路径 .. :表示直接上级路径 二、验证&#xff1a; 三、..用来返回上级目录&#xff0c;.有上面作用&#xff1f; 我们在Linux下写代码后生成的可执行程序a.out,我们运行它时的指令是./a.out 故使用.可以限定我们要执行的可执行程序在什么…

C语言编程—内存管理

C语言中的动态内存管理。C语言为内存的分配和管理提供了几个函数。这些函数可以在 <stdlib.h> 头文件中找到。 在C语言中&#xff0c;内存是通过指针变量来管理的。指针是一个变量&#xff0c;它存储了一个内存地址&#xff0c;这个内存地址可以指向任何数据类型的变量&…

JavaScript 中的行继续符

这个简短的 JavaScript 文章涵盖了 JavaScript 中的词法语法。 此外&#xff0c;还将使用各种新的换行技术深入介绍字符串&#xff0c;以及在处理这些字符串时如何处理换行符。 JavaScript 中的词法语法 在计算机科学中&#xff0c;词法语法是一种描述标记句法的技术语法。 该…

Spring Boot中的Profile:原理、用法与示例

Spring Boot中的Profile&#xff1a;原理、用法与示例 前言 Spring Boot 是一个快速开发 Spring 应用程序的框架&#xff0c;它提供了很多有用的功能和特性。其中&#xff0c;Profile 是一个常用的功能&#xff0c;它可以根据不同的环境配置来加载不同的配置文件&#xff0c;…

轻量级网络CNN系列(二):GhostNetV2

欢迎关注公众号 – AICV与前沿 欢迎关注公众号 – AICV与前沿 回顾 &#xff08;1&#xff09;Depthwise与Pointwise卷积 DW卷积的一个卷积核负责一个通道&#xff0c;例如对一个355的图片&#xff0c;输出通道数要与输入通道数相同&#xff0c;则普通卷积操作需要3333的卷积…

记一次Smartbi登录绕过

FOFA&#xff1a;app"SMARTBI" 找到目标站点验证是否存在漏洞 域名后面拼接以下路径 /smartbi/vision/RMIServlet 有下面的回显说明有可能存在漏洞(有些站点不行) 用Hackbar发送post请求 失败的话更改用户:system,public,service三个内置用户都尝试一遍 发送请求…

AutoSAR系列讲解(入门篇)3.6-RTE与Interface接口

RTE与Interface接口 一、Interface接口总览 二、AutoSAR接口 三、标准接口 四、标准AutoSAR接口 一、Interface接口总览 少说废话&#xff0c;先上图 上图将所有的接口以及其分布的位置都详细的标识了出来&#xff0c;还是用的原来的那张ECU的图添加的&#xff0c;方便大家…

用友NC uapjs RCE漏洞复现(CNVD-C-2023-76801)

0x01 产品简介 用友NC是一款企业级ERP软件。作为一种信息化管理工具&#xff0c;用友NC提供了一系列业务管理模块&#xff0c;包括财务会计、采购管理、销售管理、物料管理、生产计划和人力资源管理等&#xff0c;帮助企业实现数字化转型和高效管理。 0x02 漏洞概述 用友NC及N…

基于Java+Vue前后端分离医学生在线学习交流平台设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

条件变量wait的另一种形式

flag.wait()里面可以有两个参数&#xff0c;第一个是锁&#xff0c;第二份一般是lambda表达式之类的谓词&#xff0c;其返回值一般是bool类型。 此时由于lambda表达式返回不为真&#xff0c;所以此时仍在等待。 此时lambda表达式就算正常的。

java学习记录之struts2注解校验ognl自定义拦截器

Result: 在struts中,Reuslt用于处理Action返回的结果.将我们之前在Servlet中耦合的功能代码.解耦了.将结果处理的代码封装到了Result中.Struts2已经预置了一些处理类.Dispatcher 转发Redirect 重定向redirectAction 重定向到一个Action(与redirect配合)plaintext 纯文本stream …

帆软report10.0,从人工智能到人工+智能,day1

前言&#xff1a; 最近在全基地推进品质CTQ&#xff0c;这个功能说实话在一年前已经开发完成了&#xff0c;中间修修补补&#xff0c;跌跌代代不下10-20版。看起来好像有点夸张吧。其实说实话&#xff0c;真正的BI系统用好&#xff0c;是需要业务人员和IT部门反复碰撞的。一年前…

volume 、namespace

顺带说一下 volume 和 namespace &#xff0c;咱们就开始分享一下 service 是什么 volume 是什么 还记得 docker 的 volume 吗&#xff0c;是一个数据卷 在 K8S 中&#xff0c;volume 是 pod 中能够被多个容器访问的共享目录 &#xff0c;实际上和 docker 是一样的 volume 是…

分享成为一个优秀的测试工程师需要具备哪些知识和经验?

根据我的观察&#xff0c;优秀的测试人员可以做的事情可以包括如下3点&#xff1a; 由单纯的测试变成项目质量保证工作 持续集成探索和推动和自动化测试技术研究 测试相关工具的开发 1、我们先来讲第一点&#xff0c;由单纯的测试变成项目质量保证工作 测试&#xff0c;从狭义…

versionOS开发笔记 01,如何在现有项目中启用 versionOS ?

visionOS 开发笔记 01&#xff0c;如何在现有项目中启用 visionOS &#xff1f; 在 Targets 中的 Supportted Destinations 中增加 Apple Vision 然后在项目的 Run Destination 中选择 Apple Vision Pro 就可以了