数据分析师的学习之路-pandas篇(7)

学会了Python就可以做数据分析师?别天真了 数据分析师已经存在多年了,但是,对该职业的需求从2018年开始,对数据分析师的需求猛增,目前数据分析师的前景已然非常好!预计到2025年,「数据分析师」将成为需求最大的工作之一。 由于这种现象,我们看到了数据分析师的兴起。许多研究预测,这一角色将成为未来的工作的主力军。 很多想转型做数据师的朋友,职业方向的转变也并非一朝一夕的事情,你需要对这个行业有一定的了解,并匹配一下自己的知识和能力结构。 有很多还没有入行的同学通常一个认知误区:以为只要学了Python就可以做数据分析师。这是错误的!我们先来理解 阅读详情

继续接上篇,这次学习下透视表、线性回归还有根据条件上颜色。

3.9 透视表

在excel里也经常用到透视表来构建想要的列的组合来形成一个新的表,在pandas里也能做。
举例数据是这样的:
在这里插入图片描述
是各种类产品的订单数据,现在想做一个透视表,看看各种类(Category)在每年的销售额数据。
先导入库和读入文件:

import pandas as pd
#因为一会儿销售额会求和,所以要导入这个库
import numpy as np
#读进来
orders = pd.read_excel("C:/tmp/1.xlsx")

要按年来看,而此时Date的格式是个datetime格式,我们只要获取年:

orders['Year'] = pd.DatetimeIndex(orders['Date']).year

然后就可以生成透视表了,也有专门的函数调用,最后的参数可以传入一个方法来计算values

pt1 = orders.pivot_table(index='Catgory', columns='Year', values='Total', aggfunc=np.sum)

这样结果就是:
在这里插入图片描述
得到了一个表,每行是一个种类的销售额,每列就是不同年份。

3.10 线性回归

线性回归原理会有单独的学习,这里是用pandas直接跑出来线性回归方程并画图。
假设有这样的数据,是每月的营业额:
在这里插入图片描述
先导入库和文件

import pandas as pd
import matplotlib.pyplot as plt
#也导入计算线性回归的库
from scipy.stas import linregress
#读文件,由于month列格式有点像float会被判断错格式,所以要设置下该列是string类型
sales = pd.read_excel("C:/tmp/1.xlsx", dtype={'Month':str})

求线性回归方程,得到的结果slope是斜率,intercept是截距,std_err是标准差,r和p先不用,也就是通过这个函数直接得到:

slope, intercept, r, p, std_err = linregress(sales.index, sales.Revenue)

得到了参数,那么线性回归方程就出来了,正常就是 y=kx+c, 这里k就是slope, c就是intercept,x就是index,y就是销售额

#得到所有的exp的结果
exp=sale.index * slope + intercept

然后画个图,一般用散点图看起来明显,然后把线性回归的那条线画出来,一目了然。

#散点图
plt.scatter(sales.index, sales.Revenue)
#画个线,用橙色明显一点
plt.plot(sales.index, exp, color='orange')
#加个标题, 标题就用这个线性回归方程当标题吧
plt.title(f"y={slope}*x + {intercept}")
#x轴显示标签名并转90度
plt.xticks(sales.index, sales.Month, rotation=90)
#画出来
plt.tight_layout()
plt.show()

最后画出来就长这样:
在这里插入图片描述
有了这个方程,就可以预测未来的销售额了。

3.11 上点颜色

有时候表数据一堆很难一目了然知道数据的情况,当给一些不同条件弄上不同颜色,就清楚多了,例如这样一组数据,是学生3次考试的成绩:
在这里插入图片描述
我们想一目了然的了解成绩情况,可以把不及格的标成红色,每次成绩最高的标成绿色。
先导入库和读入文件:

import pandas as pd
students = pd.read_excel("C:/tmp/1.xlsx")

为了实现标红色和绿色,分别定义一个函数:

#把不及格的标红色
def low_score_red(s):
	color = "red" if s<60 else "black"
	return f"color:{color}"
#把每列最高分标绿色
def highest_score_green(col):
	return ['background-color:lime' if s==col.max() else 'background-color.white' for s in col]

然后呢用dataframe的applymap方法传入筛选函数

#不及格标红
students.style.applymap(low_score_red, subset=['Test_1', 'Test_2', 'Test_3'])

然后也要把每列最高分标绿,其实可以和上面这句合并,加到后面,所以上面这句就改成:

students.style.applymap(low_score_red, subset=['Test_1', 'Test_2', 'Test_3'])\
	.apply(highest_score_green, subset=['Test_1', 'Test_2', 'Test_3'])

这里第一个用的applymap,是因为要对所有单元格操作,而后面用apply是只针对某一列来操作。
然后打印student一看,结果就对了:
在这里插入图片描述


现在想用一种颜色的深浅来表达数值的高低,分数越高就越深,怎么弄呢:

import pandas as pd
#要在前面多导入一个库来画颜色
import seaborn as sns
#然后相当于生成一个调色板
color_map = sns.light_palette('green', as_cmap = True)
#读入文件
students = pd_read_excel("C:/tmp/1.xlsx", index_col='ID')
#画
students.style.background_gradient(color_map, subset=['Test_1', 'Test_2', 'Test_3'])

最终students的结果就是这样:
在这里插入图片描述


如果想用一个柱状颜色条来表示成绩的高低,越长成绩越高,怎么弄呢:

import pandas as pd
#这个情况,就不用seaborn库了
#读入文件
students = pd_read_excel("C:/tmp/1.xlsx", index_col='ID')
#直接画
students.style.bar(color='orange', subset=['Test_1', 'Test_2', 'Test_3'])

最总students的效果是这样:
在这里插入图片描述


今天先学到这,下一篇总结一下,把所有的行和列的常用操作都整理一下。

Python数据分析师|Pandas之基础知识 高质量讲解 | Python数据分析之Pandas基础知识 阅读详情

相关推荐

【同花顺公式编辑教程】第4章 功能函数

本章节主要给出大部分能够运行且常用的同花顺指标编辑器提供的函数。其中,计算类函数不作演示,绘图类函数提供示例及示例运行结果。

LiaoYi2016218的博客 2万+

机器学习(二)线性回归、多项式回归、多元回归

文章目录一、线性回归二、多项式回归三、多元回归 一、线性回归 简介:线性回归使用数据点之间的关系在所有数据点之间画一条之线,这条直线可以预测未来的值。 可以借助scipy绘制线性回归线。 from scipy import stats import matplotlib.pyplot as plt x = [1,2,3,4,5,6,7,8,9,10] y = [2,4,6,9,10,16,14,18,20,23] slope,intercept,r,p,std_err = stats.linregre

深度菜鸡-达闻西的博客 5056

python——利用pandas分析学生期末成绩

1.从excel文件中读出本班同学的成绩册,并处理好缺失值。 2.根据‘加分’和‘减分’两列统计出平时成绩。 3.将实验报告成绩从ABCD转换为百分制,统计出实验成绩。A为90分,B为75分,C为60分,D为40分。 4.随机生成假设的期末成绩,取值区间为40-100分。将自己的期末成绩改成你觉得可能考到的分数。 5.按照平时成绩20%,实验成绩30%,期末成绩50%的比例计算综合成绩。 6.输出你自己的平时成绩,实验成绩,期末成绩和综合成绩。 7.统计全班综合成绩[90,100],[80,89],[70,

weixin_48906504的博客 1万+

深入解析SGLang框架:从架构设计到核心组件实现

本文深入解析了SGLang框架的架构设计与核心组件实现。SGLang是一个专为大语言模型推理设计的高效框架,其核心优势在于清晰的分层架构、高效的调度策略以及精细的内存管理。文章详细剖析了其客户端接入、服务器端调度、模型执行引擎及Tokenizer/Detokenizer管理器等关键组件,揭示了其实现高性能推理的内部机制。

coffee的博客 566

27-eMMC电路设计

eMMC硬件电路设计

weixin_66510961的博客 3996

机器学习(线性相关)

一、线性回归 stats.mode() #众数 numpy.median() #中位数 numpy.mean() #平均数 numpy.std() #标准差 numpy.var() #方差 numpy.percentile(数组,数字) x = numpy.random.uniform(0.0,5.0,250) #250 个介于 0 到 5 之间的随机浮点数的数组 x = numpy.rando.

m0_62305088的博客 4671

TP4054芯片实战:手把手教你设计USB锂电充电电路(附PCB散热优化技巧)

本文以TP4054芯片为核心,手把手教你设计稳定可靠的USB锂电池充电电路。文章详细解析了芯片的恒流恒压工作模式、关键外围元件选型计算,并重点分享了PCB布局与散热优化的实战技巧,帮助工程师从“能工作”提升到“工作得好”,确保充电效率与系统稳定性。

1a2s3d4f5g的博客 460

给跪了!机器学习基础知识总结,太详细了吧!!

文章目录平均数中位数众数标准差方差百分位数数据分布生成随机浮点数组绘制直方图正态分布散点图线性回归r平方多项式回归r平方多元回归系数例子特征缩放测试/训练 基本数值分析 平均数 numpy.mean() 中位数 numpy.median() 众数 from scipy import stats stats.mode() 标准差 numpy.std() 方差 numpy.var() 百分位数 什么是 75 百分位数?答案是 43,这意味着 75% 的人是 43 岁或以下。 numpy.percent

weixin_45774615的博客 968

CAPL编程入门:从零开始掌握汽车通信脚本语言

本文详细介绍了CAPL编程的基础知识,从开发环境搭建到核心语法精要,再到总线通信实战和高级调试技巧。CAPL作为汽车通信脚本语言,专为CAN、LIN等网络协议设计,帮助工程师高效完成车载网络测试。通过实战案例和性能优化建议,读者可以快速掌握CAPL编程技能。

s1t2u3的博客 976

新手避坑指南:HT7036计量芯片SPI读取电压的完整流程(从复位到校准)

本文详细介绍了HT7036计量芯片的SPI读取电压完整流程,从硬件准备到校准设置,重点解析了复位引脚处理、SPI通信配置、芯片初始化及数据处理等关键步骤。针对常见问题如晶振焊接、SPI时序错误等提供实用解决方案,帮助开发者高效完成电压测量与校准。

weixin_30070339的博客 318

Python机器学习基础

python机器学习基础

weixin_74960660的博客 1932

rv1126如何切换720p和1080p

切换720p和1080p可以使用modetest,但是需要将这两种模式都添加到connector中去 添加一个新的mode到connector中去,其实内核中已经有相关接口了,需要做一些小改动。 1.不采用设备树的方式去配置,将720p和1080p的timing参数配置放在数组中。 2.这里的printer和设备树中的.compatible = "printer"一致。 3.将其添加到connector中去 static int panel_simple_get_fixed_modes(struct

weixin_42097108的博客 856

大数据分析师,比数据分析师厉害在哪

最近看到个段子:你是个数据分析师,平时主要都用 Python 的 Pandas 处理分析数据,一天,上司甩来一个文件让你清洗好顺便提取些数据,下班前给到他。你一看文件有几...

苏克的博客 7270

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

pandas数据重塑-CDA数据分析师

证书 #数据分析师本文将被收录在CDA打卡系列专栏,更多相关文章可以在里面查找。

Zeonwai_GJ_Gong的博客 936

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

数据分析师需要学习哪些知识?

数据重要性不用多说,如今,运营、市场、销售等岗位都要求“数据分析”能力。而励志“数据分析”方向的同学,如果有扎实专业技能,再加一定业务解决能力,无论在严峻的当下,还是未来,对求职面试,或升职涨薪,都会有很大帮助。下面我们来看一看数据分析师需要学习的 Python 基础、科学计算库、Mysql 等知识,希望能帮不同阶段的朋友有效提升学习、工作效率,迅速扫清职场障碍。

weixin_68789096的博客 1634

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

pandas快速上手-CDA数据分析师

CDA证书 #CDA数据分析师本文将被收录在CDA打卡系列专栏,更多相关文章可以在里面查找。

Zeonwai_GJ_Gong的博客 752

如何快速上手Python,成为一名数据分析师

学习机器学习和统计建模:作为一名数据分析师,你需要了解机器学习和统计建模的基本概念和方法。学习如何使用Python中的Matplotlib、Seaborn和Plotly等库进行数据可视化可以帮助你更好地理解和传达数据的结果。总之,要成为一名数据分析师,你需要学习Python基础知识、数据分析库、机器学习和统计建模,并通过实践项目来应用所学的知识。同时,参与社区和论坛,并持续学习和实践也是非常重要的。参与社区和论坛:加入Python和数据分析的社区和论坛可以让你与其他数据分析师交流经验和问题。

没有黑科技 1737

pandas常见数据-CDA数据分析师

表格数据的数据类型有很多种,除了之前提到过的分类数据和数值数据,常见的数据类型还有文本数据和时间数据,顾名思义文本数据的数据类型就是字符串,时间数据的数据类型就是一个日期或者更严格一点说是个时间戳,而且分类变量的字符串实质上也是文本数据。本文就从文本数据和时间数据两个方面为起点,罗列一些他们各自常用的函数和方法。

Zeonwai_GJ_Gong的博客 1895

数据分析师的学习之路-pandas篇(1)

python的pandas库,可以与excel文件联动,进行各种各样的操作,是数据分析的得力帮手,所以得知道怎么用,一些常见的业务场景都有相应的操作,学习并记录一下。

gootyking的博客 453

OpenToonz 音频视频同步:5 步完成音画对齐的时间线设置

OpenToonz 是一款开源的 2D 动画制作软件,它的音频视频同步建立在逐帧比对的时间线之上。动画里配音、音效和画面是分开生产的:先录音,再照着声音画动作。时间线就是那把"尺子"——把声音和画面换算成同一个单位,逐格核对谁先谁后。下面这套流程适用于任何需要音画对齐的场景:对话口型、动作节奏、片头拍手板。 ## 🎬 先看两个翻车现场 最常见的错配出现在口型上:配音在第 12 帧说出"嗨",

gitblog_00793的博客 1085

【机器学习】数据分析之Pandas(二)

它们属于汇总统计,对Series汇总计算获取mean、max值或者对DataFrame行、列汇总计算返回一个Series。在做时间序列相关的工作时,经常要对时间做一些移动/滞后、频率转换、采样等相关操作,我们来看下这些操作如何使用。分箱操作就是将连续数据转换为分类对应物的过程。处理方式: 如果job_detail中含有上述五类,则赋值为1,不含有则为0。数据中的薪水是一个区间,这里用薪水区间的均值作为相应职位的薪水。在行业信息中有多个标签,对其进行处理,筛选最显著的行业标签。过滤非数据分析的岗位。

专注上位机开发、机器视觉、机器学习、嵌入式软硬件开发 6666

掌握 Pandas:数据分析师的核心武器库需要学什么?

Pandas是一个开源的Python数据分析库,提供了高效的数据结构和工具,用于处理结构化数据。它建立在NumPy的基础之上,专门设计用于数据清洗、分析和操作,尤其适用于表格数据(如CSV文件、Excel表格或SQL数据库表)。Pandas的核心数据结构是DataFrame和Series,前者类似于电子表格或数据库表,后者则是一维标签化数组。Pandas的功能涵盖数据导入导出、数据对齐、缺失值处理、数据聚合、时间序列分析以及数据可视化集成等。例如,可以通过简单的语法完成数据筛选、分组统计或合并多个数据集。

weixin_59319100的博客 1576

快速导出原神祈愿记录:genshin-wish-export 免费完整使用指南

角色池倒计时结束前,你盯着"当前未出 5 星 X 抽",却不知道上一次五星到底差几抽才保底。genshin-wish-export 是一款免费的开源桌面工具,能快速、完整地把你的原神祈愿记录从游戏内导出,并算好各星级分布与五星出货历史。 ## 它到底是什么:genshin-wish-export 是什么 一句话定位:基于 Electron(用网页技术做桌面应用的技术)打造的免费开源原神祈愿记录

gitblog_00095的博客 566

数据分析师的学习之路-pandas篇(6)

接上篇,画图告一段落,现在学习表格的各种操作。

gootyking的博客 415

使用Pandas高效处理大数据数据分析师的必备技能详解

将Pandas应用于大数据场景,是对数据分析师综合能力的考验。它要求从业者不仅熟悉Pandas的API,更要深入理解其底层原理,掌握内存管理、IO优化和计算加速等一系列高级技巧。从优化数据类型到分块处理,从矢量化运算到高效查询,每一项技能都是构建高效数据分析流水线不可或缺的组件。通过持续实践和总结经验,数据分析师能够驾驭日益增长的数据挑战,让Pandas真正成为手中挖掘数据宝藏的利器,从而为公司决策提供更快、更深的洞察。

allrightxiong的博客 569
上一篇: 数据分析师的学习之路-pandas篇(6)
下一篇: 3D Gaussian Splatting的使用
gootyking
博客等级 码龄19年 264粉丝 27原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值