一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Pandas:Python中最好的數(shù)據(jù)分析工具

科技綠洲 ? 來(lái)源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-31 10:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Pandas絕對(duì)是Python中最好的數(shù)據(jù)分析工具,不接受反駁。

本文將展示如何美化 Pandas DataFrame 中的數(shù)字,并使用一些更高級(jí)的 Pandas 樣式可視化選項(xiàng),來(lái)提高您使用 Pandas 分析數(shù)據(jù)的能力。

常見的比如說(shuō):

  • 在處理貨幣值時(shí)使用貨幣符號(hào)。例如,如果您的數(shù)據(jù)包含值 25.00,您不會(huì)立即知道該值是人民幣、美元、英鎊還是其他某種貨幣。
  • 百分比是另一個(gè)有用的示,0.05 或 5%?使用百分比符號(hào)可以非常清楚地了解如何解釋數(shù)據(jù)。
  • Pandas 樣式還包括更高級(jí)的工具,用于向輸出添加顏色或其他視覺元素。

案例分析

本文將使用一個(gè)虛擬數(shù)據(jù),為大家進(jìn)行講解。該數(shù)據(jù)是一個(gè)虛構(gòu)組織的2018 年銷售數(shù)據(jù)。

數(shù)據(jù)集鏈接如下:
https://www.aliyundrive.com/s/Tu9zBN2x81c

1. 導(dǎo)入相關(guān)庫(kù),并讀取數(shù)據(jù)

import numpy as np
import pandas as pd

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

效果如下:圖片讀取這些數(shù)據(jù)后,我們可以做一個(gè)快速總結(jié),看看客戶從我們這里購(gòu)買了多少以及他們的平均購(gòu)買金額是多少。為了簡(jiǎn)單起見,我這里截取了前 5 項(xiàng)數(shù)據(jù)。

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

結(jié)果如下:圖片

2. 添加貨幣符號(hào)

當(dāng)您查看這些數(shù)據(jù)時(shí),理解數(shù)字的比例有點(diǎn)困難,因?yàn)槟?6 個(gè)小數(shù)點(diǎn)和一些較大的數(shù)字。此外,目前還不清楚這是美元還是其他貨幣。我們可以使用 DataFrame style.format 解決這個(gè)問(wèn)題。

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

結(jié)果如下:圖片使用 format 函數(shù),可以在數(shù)據(jù)上使用 python 的字符串格式化工具的所有功能。在這種情況下,我們使用 ${0:,.2f} 放置前導(dǎo)美元符號(hào),添加逗號(hào)并將結(jié)果四舍五入到小數(shù)點(diǎn)后兩位。

例如,如果我們想四舍五入到 0 位小數(shù),我們可以將格式更改為 ${0:,.0f}。

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

結(jié)果如下:圖片

3. 添加百分比

如果我們想按月查看總銷售額,我們可以使用 grouper 按月匯總,并計(jì)算每個(gè)月占年總銷售額的百分比。

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()

結(jié)果如下:圖片為了更加清楚明白的展示這個(gè)百分比,我們最好將其轉(zhuǎn)換為百分?jǐn)?shù)。

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

結(jié)果如下:圖片

4. 突出顯示數(shù)字

除了樣式化數(shù)字,我們還可以設(shè)置 DataFrame 中的單元格樣式。讓我們用綠色突出顯示最高的數(shù)字,用彩色突出顯示最高、最低的數(shù)字。

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

結(jié)果如下:圖片

5. 設(shè)置漸變色

另一個(gè)有用的函數(shù)是 background_gradient,它可以突出顯示列中的值范圍。

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

結(jié)果如下:圖片

6. 設(shè)置數(shù)據(jù)條

pandas樣式功能還支持在列內(nèi)繪制條形圖。

(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'))

結(jié)果如下:圖片

7. 繪制迷你圖

我認(rèn)為這是一個(gè)很酷的功能。

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])
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)分析
    +關(guān)注

    關(guān)注

    2

    文章

    1473

    瀏覽量

    35048
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86802
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    數(shù)據(jù)分析中最常用、最好用的20個(gè)Python庫(kù)分享

    【導(dǎo)讀】Python在解決數(shù)據(jù)科學(xué)任務(wù)和挑戰(zhàn)方面處于領(lǐng)先地位。而一些方便易用的庫(kù)則幫助了開發(fā)人員高效開發(fā)。在這里我們整理了20個(gè)在深度學(xué)習(xí)、數(shù)據(jù)分析中最常用、
    的頭像 發(fā)表于 01-03 09:28 ?5661次閱讀
    <b class='flag-5'>數(shù)據(jù)分析</b><b class='flag-5'>中最</b>常用、<b class='flag-5'>最好</b>用的20個(gè)<b class='flag-5'>Python</b>庫(kù)分享

    python數(shù)據(jù)分析的類庫(kù)

    ,因?yàn)樗匾?Pandas庫(kù)提供了我們很多函數(shù),能夠快速的方便的,處理結(jié)構(gòu)化的大型數(shù)據(jù),不夸張的說(shuō),Pandas是讓Python成為強(qiáng)大的數(shù)據(jù)分
    發(fā)表于 05-10 15:18

    怎么有效學(xué)習(xí)Python數(shù)據(jù)分析?

    包的過(guò)程。對(duì)于新手,如何學(xué)好python,這些很關(guān)鍵:Part1:能掌握好Python關(guān)鍵代碼以及Pandas、Numpy、Matplotlib、Seaborn這四個(gè)基本工具包,便能獨(dú)
    發(fā)表于 06-28 15:18

    pandas數(shù)據(jù)分析的方法

    pandas數(shù)據(jù)分析中常用方法
    發(fā)表于 06-03 06:16

    pandas數(shù)據(jù)分析常見操作

    數(shù)據(jù)分析-pandas數(shù)據(jù)處理清洗常用總結(jié)
    發(fā)表于 08-08 06:46

    基于Python數(shù)據(jù)分析

    《利用Python進(jìn)行數(shù)據(jù)分析》 113日期范圍、頻率和移位
    發(fā)表于 05-01 11:24

    成為Python數(shù)據(jù)分析師,需要掌握哪些技能

    數(shù)據(jù)驅(qū)動(dòng)問(wèn)題解決第四、數(shù)據(jù)分析師要求的三大能力統(tǒng)計(jì)學(xué)基礎(chǔ)和分析工具應(yīng)用計(jì)算機(jī)編碼能力特定應(yīng)用領(lǐng)域或行業(yè)的知識(shí)第五數(shù)據(jù)分析
    發(fā)表于 06-23 12:16

    成為Python數(shù)據(jù)分析師,需要掌握哪些技能

    數(shù)據(jù)驅(qū)動(dòng)問(wèn)題解決第四、數(shù)據(jù)分析師要求的三大能力統(tǒng)計(jì)學(xué)基礎(chǔ)和分析工具應(yīng)用計(jì)算機(jī)編碼能力特定應(yīng)用領(lǐng)域或行業(yè)的知識(shí)第五數(shù)據(jù)分析
    發(fā)表于 06-30 11:42

    如何去使用pandas工具

    器學(xué)習(xí),本文就介紹了機(jī)器學(xué)習(xí)的基礎(chǔ)內(nèi)容。提示:以下是本篇文章正文內(nèi)容,下面案例可供參考一、pandas是什么?示例:pandas 是基于NumPy 的一種工具,該工具是為了解決
    發(fā)表于 08-24 06:49

    機(jī)器學(xué)習(xí)開發(fā)課程,使用Pandas探索數(shù)據(jù)分析

    Pandas是一個(gè)Python庫(kù),提供了大量數(shù)據(jù)分析的方法。數(shù)據(jù)科學(xué)家經(jīng)常和表格形式的數(shù)據(jù)(比如.csv、.tsv、.xlsx)打交道。
    的頭像 發(fā)表于 03-14 18:07 ?5022次閱讀

    12種用于數(shù)據(jù)分析Pandas技巧可用來(lái)學(xué)習(xí)Python詳細(xì)概述

    如果你正開始學(xué)習(xí)Python,而且目標(biāo)是數(shù)據(jù)分析,相信NumPy、SciPy、Pandas會(huì)是你進(jìn)階路上的必備法寶。尤其是對(duì)數(shù)學(xué)專業(yè)的人來(lái)說(shuō),Pandas可以作為一個(gè)首選的
    的頭像 發(fā)表于 05-19 11:40 ?5587次閱讀

    pandas的快速入門介紹

    pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。Pandas 納入了大量庫(kù)和一些標(biāo)準(zhǔn)的
    發(fā)表于 06-03 08:00 ?0次下載
    <b class='flag-5'>pandas</b>的快速入門介紹

    Python工具pandas篩選數(shù)據(jù)的15個(gè)常用技巧

    pandasPython數(shù)據(jù)分析必備工具,它有強(qiáng)大的數(shù)據(jù)清洗能力,往往能用非常少的代碼實(shí)現(xiàn)較復(fù)雜的數(shù)據(jù)
    的頭像 發(fā)表于 03-30 10:44 ?3277次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>工具</b><b class='flag-5'>pandas</b>篩選<b class='flag-5'>數(shù)據(jù)</b>的15個(gè)常用技巧

    從Excel到Python數(shù)據(jù)分析進(jìn)階指南資源下載

    從Excel到Pytho  Excel是數(shù)據(jù)分析中最常用的工具,本書通過(guò)Python與Excel的功能對(duì)比介紹如何使用Python通過(guò)函數(shù)式
    發(fā)表于 04-06 09:44 ?0次下載
    從Excel到<b class='flag-5'>Python</b><b class='flag-5'>數(shù)據(jù)分析</b>進(jìn)階指南資源下載

    Anaconda:Python 數(shù)據(jù)分析與挖掘好幫手

    Python進(jìn)行數(shù)據(jù)分析的時(shí)候,你會(huì)不會(huì)煩惱要安裝那么多的模塊?比如Pandas、Numpy、matplotlib、scipy等等,而當(dāng)你接手的項(xiàng)目是由不同的Python版本編寫的時(shí)
    的頭像 發(fā)表于 11-02 16:00 ?867次閱讀
    Anaconda:<b class='flag-5'>Python</b> <b class='flag-5'>數(shù)據(jù)分析</b>與挖掘好幫手