0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Pandas:Python中最好的数据分析工具

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-10-31 10:47 次阅读

Pandas绝对是Python中最好的数据分析工具,不接受反驳。

本文将展示如何美化 Pandas DataFrame 中的数字,并使用一些更高级的 Pandas 样式可视化选项,来提高您使用 Pandas 分析数据的能力。

常见的比如说:

  • 在处理货币值时使用货币符号。例如,如果您的数据包含值 25.00,您不会立即知道该值是人民币、美元、英镑还是其他某种货币。
  • 百分比是另一个有用的示,0.05 或 5%?使用百分比符号可以非常清楚地了解如何解释数据。
  • Pandas 样式还包括更高级的工具,用于向输出添加颜色或其他视觉元素。

案例分析

本文将使用一个虚拟数据,为大家进行讲解。该数据是一个虚构组织的2018 年销售数据。

数据集链接如下:
https://www.aliyundrive.com/s/Tu9zBN2x81c

1. 导入相关库,并读取数据

import numpy as np
import pandas as pd

df = pd.read_excel('2018_Sales_Total.xlsx')

效果如下:图片读取这些数据后,我们可以做一个快速总结,看看客户从我们这里购买了多少以及他们的平均购买金额是多少。为了简单起见,我这里截取了前 5 项数据。

df.groupby('name')['ext price'].agg(['mean', 'sum'])

结果如下:图片

2. 添加货币符号

当您查看这些数据时,理解数字的比例有点困难,因为您有 6 个小数点和一些较大的数字。此外,目前还不清楚这是美元还是其他货币。我们可以使用 DataFrame style.format 解决这个问题。

(df.groupby('name')['ext price']
 .agg(['mean', 'sum'])
 .style.format('${0:,.2f}'))

结果如下:图片使用 format 函数,可以在数据上使用 python 的字符串格式化工具的所有功能。在这种情况下,我们使用 ${0:,.2f} 放置前导美元符号,添加逗号并将结果四舍五入到小数点后两位。

例如,如果我们想四舍五入到 0 位小数,我们可以将格式更改为 ${0:,.0f}。

(df.groupby('name')['ext price']
 .agg(['mean', 'sum'])
 .style.format('${0:,.0f}'))

结果如下:图片

3. 添加百分比

如果我们想按月查看总销售额,我们可以使用 grouper 按月汇总,并计算每个月占年总销售额的百分比。

monthly_sales = df.groupby([pd.Grouper(key='date', freq='M')])['ext price'].agg(['sum']).reset_index()
monthly_sales['pct_of_total'] = monthly_sales['sum'] / df['ext price'].sum()

结果如下:图片为了更加清楚明白的展示这个百分比,我们最好将其转换为百分数。

format_dict = {'sum':'${0:,.0f}', 'date': '{:%m-%Y}', 'pct_of_total': '{:.2%}'}
monthly_sales.style.format(format_dict).hide_index()

结果如下:图片

4. 突出显示数字

除了样式化数字,我们还可以设置 DataFrame 中的单元格样式。让我们用绿色突出显示最高的数字,用彩色突出显示最高、最低的数字。

(monthly_sales
 .style
 .format(format_dict)
 .hide_index()
 .highlight_max(color='lightgreen')
 .highlight_min(color='#cd4f39'))

结果如下:图片

5. 设置渐变色

另一个有用的函数是 background_gradient,它可以突出显示列中的值范围。

(monthly_sales.style
 .format(format_dict)
 .background_gradient(subset=['sum'], cmap='BuGn'))

结果如下:图片

6. 设置数据条

pandas样式功能还支持在列内绘制条形图。

(monthly_sales
 .style
 .format(format_dict)
 .hide_index()
 .bar(color='#FFA07A', vmin=100_000, subset=['sum'], align='zero')
 .bar(color='lightgreen', vmin=0, subset=['pct_of_total'], align='zero')
 .set_caption('2018 Sales Performance'))

结果如下:图片

7. 绘制迷你图

我认为这是一个很酷的功能。

import sparklines

def sparkline_str(x):
    bins=np.histogram(x)[0]
    sl = ''.join(sparklines(bins))
    return sl
    
sparkline_str.__name__ = "sparkline"
df.groupby('name')['quantity', 'ext price'].agg(['mean', sparkline_str])
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据分析
    +关注

    关注

    2

    文章

    1449

    浏览量

    34056
  • python
    +关注

    关注

    56

    文章

    4796

    浏览量

    84668
收藏 人收藏

    评论

    相关推荐

    数据分析中最常用、最好用的20个Python库分享

    【导读】Python在解决数据科学任务和挑战方面处于领先地位。而一些方便易用的库则帮助了开发人员高效开发。在这里我们整理了20个在深度学习、数据分析中最常用、
    的头像 发表于 01-03 09:28 5280次阅读
    <b class='flag-5'>数据分析</b><b class='flag-5'>中最</b>常用、<b class='flag-5'>最好</b>用的20个<b class='flag-5'>Python</b>库分享

    python数据分析的类库

    ,因为它太重要了.Pandas库提供了我们很多函数,能够快速的方便的,处理结构化的大型数据,不夸张的说,Pandas是让Python成为强大的数据分
    发表于 05-10 15:18

    怎么有效学习Python数据分析

    包的过程。对于新手,如何学好python,这些很关键:Part1:能掌握好Python关键代码以及Pandas、Numpy、Matplotlib、Seaborn这四个基本工具包,便能独
    发表于 06-28 15:18

    pandas数据分析的方法

    pandas数据分析中常用方法
    发表于 06-03 06:16

    pandas数据分析常见操作

    数据分析-pandas数据处理清洗常用总结
    发表于 08-08 06:46

    基于Python数据分析

    《利用Python进行数据分析》 113日期范围、频率和移位
    发表于 05-01 11:24

    成为Python数据分析师,需要掌握哪些技能

    数据驱动问题解决第四、数据分析师要求的三大能力统计学基础和分析工具应用计算机编码能力特定应用领域或行业的知识第五数据分析
    发表于 06-23 12:16

    成为Python数据分析师,需要掌握哪些技能

    数据驱动问题解决第四、数据分析师要求的三大能力统计学基础和分析工具应用计算机编码能力特定应用领域或行业的知识第五数据分析
    发表于 06-30 11:42

    如何去使用pandas工具

    器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决
    发表于 08-24 06:49

    机器学习开发课程,使用Pandas探索数据分析

    Pandas是一个Python库,提供了大量数据分析的方法。数据科学家经常和表格形式的数据(比如.csv、.tsv、.xlsx)打交道。
    的头像 发表于 03-14 18:07 4820次阅读

    12种用于数据分析Pandas技巧可用来学习Python详细概述

    如果你正开始学习Python,而且目标是数据分析,相信NumPy、SciPy、Pandas会是你进阶路上的必备法宝。尤其是对数学专业的人来说,Pandas可以作为一个首选的
    的头像 发表于 05-19 11:40 5346次阅读

    pandas的快速入门介绍

    pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的
    发表于 06-03 08:00 0次下载
    <b class='flag-5'>pandas</b>的快速入门介绍

    Python工具pandas筛选数据的15个常用技巧

    pandasPython数据分析必备工具,它有强大的数据清洗能力,往往能用非常少的代码实现较复杂的数据
    的头像 发表于 03-30 10:44 2890次阅读
    <b class='flag-5'>Python</b><b class='flag-5'>工具</b><b class='flag-5'>pandas</b>筛选<b class='flag-5'>数据</b>的15个常用技巧

    从Excel到Python数据分析进阶指南资源下载

    从Excel到Pytho  Excel是数据分析中最常用的工具,本书通过Python与Excel的功能对比介绍如何使用Python通过函数式
    发表于 04-06 09:44 0次下载
    从Excel到<b class='flag-5'>Python</b><b class='flag-5'>数据分析</b>进阶指南资源下载

    Anaconda:Python 数据分析与挖掘好帮手

    Python进行数据分析的时候,你会不会烦恼要安装那么多的模块?比如Pandas、Numpy、matplotlib、scipy等等,而当你接手的项目是由不同的Python版本编写的时
    的头像 发表于 11-02 16:00 600次阅读
    Anaconda:<b class='flag-5'>Python</b> <b class='flag-5'>数据分析</b>与挖掘好帮手