Pandas01

news2025/1/1 11:18:55

文章目录

    • 内容简介
    • 1 常用数据分析三方库
    • 2 Jupyter notebook
    • 3 Series的创建
      • 3.1 通过Numpy的Ndarray 创建一个Series
      • 3.2 通过列表创建Series
    • 4 Series的属性和方法
      • 4.1 常用属性
      • 4.2 常用方法
      • 4.3 布尔值列表筛选部分数据
      • 4.4 Series 的运算
    • 5 DataFrame的创建
      • 通过字典创建
      • 通过列表[元组] 列表[列表] 方式创建
    • 6 DataFrame的属性和方法
      • 6.1 常用属性
      • 6.2 常用方法
      • 6.3 布尔索引. 条件取值
      • 6.4 两个DF之间进行计算

内容简介

Pandas

  • 环境搭建起来 Anaconda
  • Series
  • DataFrame
  • 增加 删除 修改 查询数据
  • 修改表结构 常用的方法
  • 日期时间类型, 分组聚合, 表连接
  • 数据可视化
    • 直方图 折线图 柱状图 散点图 饼图 箱线图 热力图…

业务

  • 常见指标
  • 数据分析工作基本技能
    • 取数, 做报表
    • 专题/专项分析
      • 数据分析的思维 分群, 下钻, 漏斗…
      • 数据分析模型 规则模型
    • 指标异常波动分析
    • 报告能力
    • AB测试 (中 大公司)

1 常用数据分析三方库

Pandas

  • 底层调用Numpy Numpy是一个高效的科学计算库 , 基本的数据结构是 ndarray (N维数组)
    • Pandas 给numpy的Ndarray 添加行列名字, 具体的计算还是调用Numpy来实现的
  • 重要对象
    • Series 一列数据
    • DataFrame 二维表格

MatPlotLib (静态绘图 jpg, png svg)

  • Python 数据可视化的三方库
  • Pandas的数据可视化功能就是调用的MatPlotLib
  • Seaborn 基于MatPlotLib

基于JS 的绘图库 (html 页面上展示)

  • pyecharts

2 Jupyter notebook

Anaconda的安装

  • 安装好之后, 可能会遇见的问题

    bad file descriptor

  • pip uninstall pyzmq

  • pip install pyzmq -i https://pypi.tuna.tsinghua.edu.cn/simple/

Anaconda 是 python的发型版 是数据科学用到的三方库的集合

  • 安装好了之后, 默认会有一个base的虚拟环境 在base 环境里装了数据科学相关的三方库
  • 集成了conda这个包管理器, 在anaconda的环境下, 也可以通过conda install XXXX 来安装三方库
  • conda 也可以管理虚拟环境
    • 为什么要有虚拟环境
      • Python库 如果版本更新了, 一些老的方法可能会被删除
      • 举例 Pandas 升级到了2.X版本, 我想用2.x版本的新功能, 项目是在1.5.3 环境下开发的

Pycharm下运行notebook

项目创建好之后, 修改解释器

在这里插入图片描述

添加本地解释器

在这里插入图片描述

选择conda解释器

在这里插入图片描述

设置好解释器之后, 可以直接右键单击项目,新建文件

在这里插入图片描述

Jupyter notebook 常用快捷键

  • 命令模式和编辑模式之间的切换 ESC
  • 命令模式下
    • dd 删除cell
    • b 在当前cell下面添加一个cell
    • a 在当前cell上面添加一个cell
    • ctr + 回车 / shift+ 回车 运行一个cell
    • m 切换到markdown 模式 y 切换到代码模式

3 Series的创建

3.1 通过Numpy的Ndarray 创建一个Series

n1 = np.array([1,2,3])
type(n1)
# 创建一个Series对象
s =pd.Series(n1)
type(s)

# 我们在创建Series的时候, 如果不指定索引, Pandas也会自动帮助我们添加一个索引
# 默认加的索引是从0开始的整数  RangeIndex
s.index

3.2 通过列表创建Series

s1 = pd.Series(n1,index=['a','b','c'])
s1.index

s3 = pd.Series(['香蕉','apple',2],index=[1,2,3])
#%%
s3.index
#%%
data_dict = {'Age':18,'Name':'Tom','Job':'大数据工程师'}
s4 = pd.Series(data_dict)
#%%
s4.values

index 索引

values 值

4 Series的属性和方法

4.1 常用属性

index : 索引

values: 值

shape: 形状 返回一个元组 (行数,)

size: 返回整数 有多少个值

dtypes/dtype 数据类型

4.2 常用方法

访问前5条数据/后五条数据

s.head()
s.tail()

Series转换成列表和DataFrame

s1.tolist()
s1.to_list()
# s对象转换成df对象
s1.to_frame()

s对象最大值、最小值、平均值、求和值

# s对象最大值、最小值、平均值、求和值
s1.max()
s1.min()
s1.mean()
s1.sum()

describe()方法, 一次性返回多个统计量

  • count() 计数
  • mean() 求平均
  • std() 求标准差 标准差反应数据的离散程度
    • 方差 = ∑(每一个值 - 平均值)²/总数
    • 标准差 = 方差开根号
  • min()
  • quantile()
    • 计算分位数
    • 1/4 分位数 把数据从小到大排序, 排在25% 那个位置的数就是25%分位数
    • 中位数: 把数据从小到大排序, 排在正中间的那个数就是中位数
    • 3/4 分位数 把数据从小到大排序, 排在75% 那个位置的数就是75%分位数
  • max()

去重/排序/返回唯一值

  • drop_duplicates()
    • inplace 默认值 False 不会在原来的数据上修改, 而是在一个副本上修改, 并把修改之后的副本返回
    • inplace = True 直接修改原始的数据 方法不会有返回值
  • sort_values() 值排序 ascending = True 升序(默认值) False降序
  • sort_index() 索引排序
  • unique() / nunique()
    • 返回ndarray 由唯一值组成
    • nunique 返回唯一值数量

4.3 布尔值列表筛选部分数据

想通过某个条件在Series选出满足条件的部分数据, 可以使用布尔索引(布尔值列表/布尔值的Sereis)

df = pd.read_csv('C:/Develop/深圳42/data/scientists.csv')

从数据中筛选出年龄大于平均值的科学家的名字

df['Name'][df['Age']>df['Age'].mean()]

df[‘Age’]>df[‘Age’].mean() 会返回由True和False组成的布尔值的Series

把它通过[] 丢进来, 可以做数据的过滤

  • True对应数据行会被保留, False对应的数据行会被删除

这里也可以传一个和Series长度一致的boolean的list

多个条件的连接 职业是化学家, 并且 年龄大于平均年龄

df['Name'][(df['Age']>df['Age'].mean()) & (df['Occupation']=='Chemist')]

两个boolean 值组成的series 做 与 或者 或 的运算需要用& | 符号 不能用 and or

& | 是按位运算, 会把两个series中每一行做对应的 与 或计算

and or 只能是 做 一个True /False 和另一个 True /False 的计算 ,如果遇见了下面的报错, 要知道是什么原因

在这里插入图片描述

4.4 Series 的运算

Series 和 一个数值/字符串 进行计算

  • 每一个元素都会跟这个 数值/字符串 进行计算
  • 这一点和Python的列表不一样, Python的列表想要实现相同的效果必须需要遍历

两个Series之间进行计算

  • 按照 index (行索引) 进行对齐
  • 两个Series index相同的行会在一起进行计算
  • 不同的会返回NaN (空值)

5 DataFrame的创建

通过字典创建

dict_data = {'id':[1,2,3],'name':['张三','李四','Apple'],'age':[21,22,23]}
df = pd.DataFrame(dict_data,columns=['id','age','name'],index=['a','b','c'])
df

通过列表[元组] 列表[列表] 方式创建

list_data =[
    (1,'张三',21),
    (2,'李四',22),
    (3,'王五',23)
            ]
df = pd.DataFrame(list_data,columns=['id','age','name'])
df

6 DataFrame的属性和方法

6.1 常用属性

df.index

df.columns # 列名 列索引

df.values # 值 返回的类型 ndarray

df.shape # (行数,列数) df.shape[0]

6.2 常用方法

加载数据之后的了解,认识数据的常规套路

df.head() # 看一眼数据长什么样

df.info() # 数据类型, 有没有空值

df.describe() # 看数据的分布情况, 和业务常识是否一致

df.sort_values( by = 列名) # 按照某一列排序

6.3 布尔索引. 条件取值

和Series的布尔值列表取值用法完全一致

6.4 两个DF之间进行计算

DF和 某个具体的值(字符串, 数字 )进行计算

  • 每个元素都会跟这个值之间进行计算

两个Df之间进行计算 和Series算法一样

  • 使用行名字进行对齐

若有错误与不足请指出,关注DPT一起进步吧!!!

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

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

相关文章

WebPack3项目升级webpack5的配置调试记录

文章目录 前言一、webpack3环境1.1、知识点记录1.1.1、配置解释1.1.2、webpack与sass版本对应关系1.1.3、CommonJS与ESModule1.1.4、node版本管理nvm1.1.5、sass-loader、sass与node-sass 1.2、其他1.2.1、.d.ts是什么文件1.2.2、react与types/react版本对应关系1.2.3、webpack…

plsql :用户system通过sysdba连接数据库--报错ora-01031

一、winR cmd通过命令窗口登录sys用户 sql sys/[password]//localhost:1521/[service_name] as sysdba二、输入用户名:sys as sysdba 三、输入密码:自己设的 四、执行grant sysdba to system; 再去PL/SQL连接就可以了

Quo Vadis, Anomaly Detection? LLMs and VLMs in the Spotlight 论文阅读

文章信息: 原文链接:https://arxiv.org/abs/2412.18298 Abstract 视频异常检测(VAD)通过整合大语言模型(LLMs)和视觉语言模型(VLMs)取得了显著进展,解决了动态开放世界…

药片缺陷检测数据集,8625张图片,使用YOLO,PASICAL VOC XML,COCO JSON格式标注,可识别药品是否有缺陷,是否完整

药片缺陷检测数据集,8625张图片,使用YOLO,PASICAL VOC XML,COCO JSON格式标注,可识别药品是否有缺陷,是否完整 有缺陷的标注信息: 无缺陷的标注信息 数据集下载: yolov11:https://d…

蓝桥杯速成教程{三}(adc,i2c,uart)

目录 一、adc 原理图​编辑引脚配置 Adc通道使能配置 实例测试 ​编辑效果显示 案例程序 badc 按键相关函数 测量频率占空比 main 按键的过程 显示界面的过程 二、IIC通信-eeprom 原理图AT24C02 引脚配置 不可用状态,用的软件IIC 官方库移植 At24c02手册 ​编辑…

第6章 图论

2024年12月25日一稿 🐰6.1 图的基本概念 6.1.1 图的定义和表示 6.1.2 图的同构 6.1.3 完全图与正则图 6.1.4 子图与补图 6.1.5 通路与回路 6.2 图的连通性 6.2.1 无向图的连通性 6.2.2 有向图的连通性 6.3 图的矩阵表示 6.3.1 关联矩阵 6.3.2 有向图的邻接矩阵…

数据库原理及应用(MySQL版-李月军)-习题参考答案

数据库原理及应用(MySQL版)-微课视频版 习题参考答案 习 题一 一.选择题 1、D 2、C 3、C 4、B 5、D 6、B 7、A 8、B 9、C 10、A 11、B 12、C 13、①A②B③C 14、①E②B 15、①B②C③B 16、B 17、A 18、D 二.填空题 1、文件…

从家谱的层级结构 - 组合模式(Composite Pattern)

组合模式(Composite Pattern) 组合模式(Composite Pattern)组合模式概述组合模式涉及的角色talk is cheap, show you my code总结 组合模式(Composite Pattern) 组合模式(Composite…

路由器刷机TP-Link tp-link-WDR5660 路由器升级宽带速度

何在路由器上设置代理服务器? 如何在路由器上设置代理服务器? 让所有连接到该路由器的设备都能够享受代理服务器的好处是一个不错的选择,特别是当需要访问特定的网站或加速网络连接的时候。下面是一些您可以跟随的步骤,使用路由器…

免费干净!付费软件的平替款!

今天给大家介绍一个非常好用的电脑录屏软件,完全没有广告界面,非常的干净简洁。 电脑录屏 无广告的录屏软件 这个软件不需要安装,打开就能看到界面直接使用了。 软件可以全屏录制,也可以自定义尺寸进行录制。 录制的声音选择也非…

Pandas03

Pandas01 Pandas02 文章目录 内容回顾1 排序和统计函数2 缺失值处理2.1 认识缺失值2.2 缺失值处理- 删除2.3 缺失值处理- 填充非时序数据时序数据 3 Pandas数据类型3.1 数值类型和字符串类型之间的转换3.2 日期时间类型3.3 日期时间索引 4 分组聚合4.1 分组聚合的API使用4.2 分…

vue3使用element-plus,解决 el-table 多选框,选中后翻页再回来选中失效问题

问题&#xff1a;勾选的数据分页再回来回消失 1.在el-table中加 :row-key"getRowKey" const getRowKey (row) > { return row.id; // id必须是唯一的 }; 2.给type为selection的el-table-column添加上reserve-selection属性 <el-tableref"multipleTab…

BUU BRUTE 1

BUU BRUTE 1 启动靶机 让我们输入账户和密码&#xff0c;这里我们什么也不知道就随便输入一个试试 账户adimin密码1234 告诉我们密码错误&#xff0c;为四位数字&#xff0c;在这里没有说账号错误&#xff0c;说明账号就是admin 密码的话爆破一下从0000到9999 这里选择默认的…

Maple软件的安装和使用

文章目录 1.前言说明2.我为什么要学习Maple3.软件的安装4.如何使用4.1基本的赋值语句4.2函数的定义4.3三个类型的书写介质 5.指数运算5.1使用面板5.2自己输入 6.对数的使用 1.前言说明 众所周知&#xff0c;我虽然是一名这个计算机专业的学生&#xff0c;但是我对于数学&#…

vue之axios基本使用

文章目录 1. axios 网络请求库2. axiosvue 1. axios 网络请求库 <body> <input type"button" value"get请求" class"get"> <input type"button" value"post请求" class"post"> <!-- 官网提供…

javaEE-多线程案例-单例模式

目录 啥是设计模式? 一.饿汉式 实现步骤&#xff1a; 二.懒汉式 实现步骤: 三、懒汉式优化1 四.懒汉式优化2 五.懒汉式优化3 总代码: 单例模式是一种设计模式。 啥是设计模式? 设计模式好⽐象棋中的"棋谱".红⽅当头炮,⿊⽅⻢来跳.针对红⽅的⼀些⾛法,⿊…

TCP Analysis Flags 之 TCP Out-Of-Order

前言 默认情况下&#xff0c;Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态&#xff0c;并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时&#xff0c;会对每个 TCP 数据包进行一次分析&#xff0c;数据包按照它们在数据包列表中出现的顺序进行处理。可…

鸿蒙开发实战之“使用HiLog和HiSysEvent进行日志与系统事件管理”

HiLog和HiSysEvent作为鸿蒙&#xff08;HarmonyOS&#xff09;系统中进行日志记录和系统事件管理的关键组件&#xff0c;为开发者提供了强大的工具来追踪系统行为、调试应用以及监控设备状态。它们不仅简化了日志管理和事件追踪的流程&#xff0c;还提高了开发效率和系统可维护…

机器学习之PCA降维

主成分分析&#xff08;PCA&#xff0c;Principal Component Analysis&#xff09; 主成分分析&#xff08;PCA&#xff09;是一种常见的无监督学习技术&#xff0c;广泛应用于数据降维、数据可视化以及特征提取等任务。PCA的目标是通过线性变换将数据从高维空间映射到低维空间…

【CSS in Depth 2 精译_098】17.3:CSS 动画延迟技术与填充模式设置 + 17.4:通过 CSS 动画传递意图的秘诀

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第五部分 添加动效 ✔️【第 17 章 动画】 ✔️ 17.1 关键帧17.2 3D 变换下的动画设置 17.2.1 添加动画前页面布局的构建17.2.2 为布局添加动画 17.3 动画延迟与填充模式 ✔️17.4 通过动画传递意图…