pandas进行条件格式化以及线性回归的预测
条件格式化
需求1:
- 将三次考试的成绩小于60分的值找出来,并将字体变为红色
需求2:
- 将每次考试的第一名找出来,将背景变为绿色
需求3:
- 使用背景颜色的深浅来表示数值的大小
需求4:
- 使用数据条的长度表示数值的大小
在这里我们需要用到两个函数apply和applymap
apply和applymap的区别:
apply是指根据轴进行匹配,从左往右是用轴为1即axis=1,从上至下是用轴为0即axis=0,默认是从上往下进行列匹配
applymap是指无差别的进行指定区域匹配
# 定义一个函数,如果分数少于60就变为红色(color:{color}将改变字体颜色)
def low_score_red(s):
color = 'red' if s<60 else 'black'
return f'color:{color}'
# 定义一个函数,每次考试的第一名变为绿色(background-color:lime将底部颜色变为绿色)
def highest_score_green(col):
return ['background-color:lime' if s == col.max() else 'background-color:white' for s in col]
students = pd.read_excel('C:/Users/1/Downloads/Students.xlsx')
students.style.applymap(low_score_red,subset=['Test_1','Test_2','Test_3']).apply(highest_score_green,subset=['Test_1','Test_2','Test_3'])

Seaborn包:在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。
使用背景颜色的深浅来表示数值的大小
import seaborn as sns
# light_palette调色板
color_map = sns.light_palette('green', as_cmap=True)
students.style.background_gradient(color_map,subset=['Test_1','Test_2','Test_3'])

使用数据条的占比表示数值的大小
students.style.bar(color='orange',subset=['Test_1','Test_2','Test_3'])

线性回归预测
准备的数据如下图:

import matplotlib.pyplot as plt
sales = pd.read_excel('C:/Users/1/Downloads/Sales.xlsx',dtype={'Month':str})
# 绘制散点图,以索引为x轴,以收益为Y轴
plt.scatter(sales.index,sales.Revenue)
# 将x轴刻度从索引改为年月,并将年月的方向旋转90°,rotation是旋转的意思
plt.xticks(sales.index, sales.Month, rotation=90)
# tight_layout是选择紧凑型图形的意思
plt.tight_layout()
plt.show()

# 导入科学库,线性回归包
from scipy.stats import linregress
'''
slope 代表斜率
intercept 代表与Y轴的截点
'''
# 计算出斜率和截点根据索引与收益
slope,intercept,r,p,std_err = linregress(sales.index,sales.Revenue)
# 线性回归方程
erp = sales.index*slope + intercept
# 先绘制出散点图
plt.scatter(sales.index, sales.Revenue)
# 更改刻度
plt.xticks(sales.index, sales.Month, rotation=90)
# 绘制出直线
plt.plot(sales.index, erp, color='red')
# 修改标题名为线性方程
plt.title(f'y={slope}*X+{intercept}')
plt.show()

根据此方程可以预测未来的收益,只需要将年月输入即可
pandas进行条件格式化以及线性回归的预测的更多相关文章
- 通过机器学习的线性回归算法预测股票走势(用Python实现)
在本人的新书里,将通过股票案例讲述Python知识点,让大家在学习Python的同时还能掌握相关的股票知识,所谓一举两得.这里给出以线性回归算法预测股票的案例,以此讲述通过Python的sklearn ...
- python pandas进行条件筛选时出现ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().”
在使用pandas进行条件筛选时,使用了如下的代码: fzd_index=data[(data['实际辐照度']<mi)or(data['实际辐照度']>ma)].index 原本以为,并 ...
- TensorFlow从1到2(七)线性回归模型预测汽车油耗以及训练过程优化
线性回归模型 "回归"这个词,既是Regression算法的名称,也代表了不同的计算结果.当然结果也是由算法决定的. 不同于前面讲过的多个分类算法或者逻辑回归,线性回归模型的结果是 ...
- 线性回归 - LinearRegression - 预测糖尿病 - 量化预测的质量
线性回归是分析一个变量与另外一个或多个变量(自变量)之间,关系强度的方法. 线性回归的标志,如名称所暗示的那样,即自变量与结果变量之间的关系是线性的,也就是说变量关系可以连城一条直线. 模型评估:量化 ...
- Pandas根据条件赋值
我们有以下判断条件,我们想要更改B中的数, 而更改的位置是取决于 A 的. 对于A大于4的位置. 更改B在相应位置上的数为0. df.B[df.A>4] = 0
- 用matplotlib和pandas绘制股票MACD指标图,并验证化交易策略
我的新书<基于股票大数据分析的Python入门实战>于近日上架,在这篇博文向大家介绍我的新书:<基于股票大数据分析的Python入门实战>里,介绍了这本书的内容.这里将摘录出部 ...
- scikit-learn 和pandas 基于windows单机机器学习环境的搭建
很多朋友想学习机器学习,却苦于环境的搭建,这里给出windows上scikit-learn研究开发环境的搭建步骤. Step 1. Python的安装 python有2.x和3.x的版本之分,但是很多 ...
- R语言解读多元线性回归模型
转载:http://blog.fens.me/r-multi-linear-regression/ 前言 本文接上一篇R语言解读一元线性回归模型.在许多生活和工作的实际问题中,影响因变量的因素可能不止 ...
- Ng线性回归实现学习[转载]
转自:https://github.com/huanting74/Coursera-ML-AndrewNg 1.可视化数据 import pandas as pd import seaborn as ...
随机推荐
- Python3学习的准备工作
简单好用的桌面开发平台:ubuntu 16.x/18.x 或 LinuxMint 18.x 开发工具:新版操作系统都自带有Python3.5及更高版本 其实作为初学者,不要迷信版本,也不必着急升级成最 ...
- ABBYY FineReader 14OCR解锁
ABBYY FineReader 14是2017年新推的文字处理编辑软件,能够将图像扫描转换成文档处理.不论是在使用群体方面还是功能特性方面都是极好的. •确保扫描仪正确地连接到电脑,并将其打开.查阅 ...
- 2018秋寒假作业5—PTA编程总结2
1.实验代码: 7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌&qu ...
- docker-网络基础配置和dockerfile
00x1: 端口映射: 如图:这就是把容器的 5000端口和主机的32768端口相映射,所以通过访问主机的32768端口就可以访问容器的web界面 这个端口是系统默认的如果自定义命令:docker r ...
- IDEA 运行spring boot出现端口占用的问题
Description: The Tomcat connector configured to listen on port 8080 failed to start. The port may al ...
- autocomplete初步使用
之前使用过autocomplete自动补全,只是简单的传入input框中要补全的数组,类似于 $('#id').autocomplete('[数组形式的补全数据]',{minChars: 0}); 只 ...
- 05-Eclispe配置Tomcat插件
此插件只针对 eclipse-java-indigo-SR2-win32 这个开发工具使用的 1.下载tomcat插件 2.解压到指定位置 3.找到eclispe安装目录 D:\software\ec ...
- 刘志梅201771010115.《面向对象程序设计(java)》第十六周学习总结
实验十六 线程技术 实验时间 2017-12-8 1.实验目的与要求 (1)当线程的run方法执行方法体中最后一条语句后,并经由执行return语句返回时,或者出现了在方法中没有捕获的异常时,线程将 ...
- spark2.1源码分析2:从SparkPi分析一个job的执行
从SparkPi的一个行动操作入手,选择Run–Debug SparkPi进入调试: F8:Step Over F7:Step Into 右键Run to Cursor Ctrl+B 查看定义 导航– ...
- mybatis入门篇:mybatis动态SQL
1.if用法 <select id="selectUser" resultType="com.forest.owl.entity.User"> se ...