python数据分析基础008 -利用pandas带你玩转excel表格(中下篇)

简介: python数据分析基础008 -利用pandas带你玩转excel表格(中下篇)

文章要点

image.png

🍺前言

image.png

🍁(一)利用pandas将excel中的数据绘制成可视化图形image.png

🔥1.在excel中实现image.pngimage.png要在python中实现上述在excel中的操作,该如何做呢?下面就让我们在python下实现吧!利用pandas和matplotlib绘制出来的图形更直观。

🔥2.在pandas中实现

  1. 导入pandas以及matplotlib模块
import pandas as pd
from matplotlib import pyplot as plt
  1. 读取excel表格数据,并将其进行排序
student_data = pd.read_excel('./excel/testpicture.xlsx')
df = pd.DataFrame(student_data)
# 对数据进行排序
df.sort_values(by=['2016','2017'],inplace=True,ascending=False)
  1. 绘制图形,并对x轴的说明进行调整
# 绘制条形图
df.plot.bar(x = 'Field',y = ['2016','2017'] , color = ['red', 'blue'])
# plt.xticks(rotation = 45,ha= 'right')
# 获取x轴,对x轴的说明进行调整,rotation表示倾斜的度数,ha表示水平旋转
ax = plt.gca()
ax.set_xticklabels(df['Field'] ,rotation = 45, ha = 'right')
  1. 设置xy轴以及标题的说明
# 设置xy轴的说明
plt.xlabel('field')
plt.ylabel('data of number')
# 加标题
plt.title("Student of Number" ,fontsize =20,color = 'green')
  1. 使图片完整显示(两种方法)
# 对于标签名字太长显示不全,可以用tight_layout()将标签在图中完全显示出来
# plt.tight_layout()
# 获取图形,调整图形与边缘的距离
picture= plt.gcf()
picture.subplots_adjust(left =0.5 ,bottom = 0.1)
  1. 保存及展示
plt.savefig('./excel.png')
plt.show()

结果:image.pngimage.pngimage.png

🍁(二)利用pandas实现多表联合1.python数据分析基础001 -matplotlib的基础绘图

在一个ecxel中可以有很多张表,通常这些表合并在一起又会生成一个新的数据。

实例:将这两张表的学生成绩打印出来image.pngimage.png

🔥1.在excel中实现

使用VLOOKUOP函数进行联合image.png📌注:在VLOOKUP中若是匹配不到数值,则会进行近似匹配,如上结果所示,21号学生成绩不存在,则近似匹配上一个的值。

若不想近似匹配则将默认值改为True。

=VLOOKUP(A2,Scores!A1:B21,2,FALSE)image.png若要显示为0,则需要用到IFNA函数。

image.png这样就完成了将两表联合查询到了学生的成绩。那么在pandas中该如何实现呢?

🔥2.在pandas中实现image.png

student = pd.read_excel('./excel/testone.xlsx',sheet_name='Students')
score = pd.read_excel('./excel/testone.xlsx',sheet_name='Scores')

image.png

import pandas as pd
student = pd.read_excel('./excel/testone.xlsx',sheet_name='Students')
score = pd.read_excel('./excel/testone.xlsx',sheet_name='Scores')
df_student = pd.DataFrame(student)
df_score = pd.DataFrame(score)
# how 表留左边表格数据,on按照id匹配,fillna将没有匹配到的值赋予0
# result = student.merge(score,how='left',on='ID').fillna(0)
result = student.merge(score,how='left',left_on='ID',right_on='ID').fillna(0)
# 修改Score的数据类型原本为float
result.Score = result.Score.astype(int)
print(result)

结果:

image.png

🍁(三)数据校验

在excel表格中,通常会有一些数据不符合我们的规范要求,从而导致我们的到的数据不准确,因此我们需要将他们筛选出来。那么我们该怎么做呢?

实例:将成绩不符合0-100的数据筛选出来image.png

🔥1.在excel表格中实现

image.png结果:image.png需要找出不符合的数据,在pandas中又如何操作呢?

🔥2.在pandas中实现image.png

import pandas as pd
def Score_false(x):
    if not 100>= x.Score >=0 :
        print("ID为{},姓名为:{}的学生成绩异常,成绩为:{}".format(x.ID,x.Name,x.Score))
score = pd.read_excel('./excel/testtwo.xlsx')
df = pd.DataFrame(score)
# axis=1则从行查询 axis=0则从列查询
df.apply(Score_false,axis=1)

结果:image.png

🍁(四)拆分列image.png

🔥1.在excel中实现image.png

那么在pandas中又如何实现呢?

🔥2.在pandas中实现image.png

import pandas as pd
test = pd.read_excel('./excel/testthree.xlsx')
df = pd.DataFrame(test)
name = df['Full Name'].str.split(expand = True)
df['firstname'] = name[0]
df['lastname'] = name[1]
print(df)

结果:image.png

🍻结语

相关文章
|
3天前
|
Python
Pandas处理日常EXCEL表格的便捷操作
Pandas处理日常EXCEL表格的便捷操作
15 2
|
4天前
|
数据安全/隐私保护
杨老师课堂之Excel VBA 程序开发第七讲表格数据高亮显示
杨老师课堂之Excel VBA 程序开发第七讲表格数据高亮显示
9 1
|
12天前
|
XML 物联网 API
服务端和客户端 RESTful 接口上传 Excel 的 Python 代码
本文作者木头左是物联网工程师,分享如何使用 Python 和 Flask-RESTful 构建一个简单的 RESTful API,实现文件上传功能,特别支持Excel文件。通过安装Flask和Flask-RESTful库,创建Flask应用,实现文件上传接口,并将其添加到API。该方法具有简单易用、灵活、可扩展及社区支持等优点。
服务端和客户端 RESTful 接口上传 Excel 的 Python 代码
|
9天前
|
测试技术 iOS开发 MacOS
用Python处理Excel的资源
用Python处理Excel的资源
用Python处理Excel的资源
|
2天前
|
数据采集 机器学习/深度学习 数据可视化
利用Python和Pandas库构建高效的数据分析流程
在数据驱动的时代,数据分析已成为企业决策的关键环节。本文介绍如何利用Python编程语言及其强大的数据分析库Pandas,构建一套高效且可扩展的数据分析流程。与常规的数据分析流程不同,本文不仅涵盖数据加载、清洗、转换等基础步骤,还强调数据可视化、模型探索与评估等高级分析技巧,并通过实际案例展示如何在Python中实现这些步骤,为数据分析师提供一套完整的数据分析解决方案。
|
9天前
|
Python
在Python的pandas库中,向DataFrame添加新列简单易行
【6月更文挑战第15天】在Python的pandas库中,向DataFrame添加新列简单易行。可通过直接赋值、使用Series或apply方法实现。例如,直接赋值可将列表或Series对象分配给新列;使用Series可基于现有列计算生成新列;apply方法则允许应用自定义函数到每一行或列来创建新列。
69 8
|
5天前
|
API Python
Python库`openpyxl`是一个用于读取和写入Excel 2010 xlsx/xlsm/xltx/xltm文件的库。
【6月更文挑战第19天】`openpyxl`是Python处理xlsx文件的库,支持读写Excel 2010格式。使用`pip install openpyxl`安装。基本操作包括加载文件、读写单元格、操作行和列。例如,加载Excel后,可以读取单元格`A1`的值,或将“Hello, World!”写入`A1`。还可修改单元格内容,如加1后保存到新文件。更多功能,如样式和公式,见官方文档[1]。 [1]: <https://openpyxl.readthedocs.io/en/stable/>
23 1
|
6天前
|
Python
【干货】python xlwt写入excel操作
【干货】python xlwt写入excel操作
10 2
|
12天前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
【6月更文挑战第12天】在数字时代,Python因其强大的数据处理能力和易用性成为数据分析首选工具。结合Pandas(用于高效数据处理)和Matplotlib(用于数据可视化),能助你成为数据分析专家。Python处理数据预处理、分析和可视化,Pandas的DataFrame简化表格数据操作,Matplotlib则提供丰富图表展示数据。掌握这三个库,数据分析之路将更加畅通无阻。
|
6天前
|
Python
【代码】Python实现Excel数据合并
【代码】Python实现Excel数据合并
11 0