亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python自動(dòng)化實(shí)現(xiàn)日?qǐng)?bào)數(shù)據(jù)可視化

 更新時(shí)間:2025年02月20日 08:33:29   作者:i阿極  
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)自動(dòng)化生成日?qǐng)?bào)數(shù)據(jù)可視化,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

1、前言

今天,我們就來(lái)聊聊如何用Python這一強(qiáng)大的編程語(yǔ)言,實(shí)現(xiàn)“解放雙手,一鍵運(yùn)行!Python每日自動(dòng)生成數(shù)據(jù)日?qǐng)?bào)”的神奇魔力。本文使用案例數(shù)據(jù),構(gòu)造銷(xiāo)售收入、銷(xiāo)售單量等關(guān)鍵性指標(biāo),借助Python工具一鍵生成數(shù)據(jù)日?qǐng)?bào),下面一起學(xué)習(xí)吧!

在這個(gè)快節(jié)奏的工作環(huán)境中,時(shí)間就是金錢(qián),效率決定成敗。傳統(tǒng)的手動(dòng)制作數(shù)據(jù)日?qǐng)?bào),不僅耗時(shí)耗力,還容易出錯(cuò)。而Python憑借其簡(jiǎn)潔的語(yǔ)法、豐富的庫(kù)支持和強(qiáng)大的自動(dòng)化能力,正逐步成為數(shù)據(jù)分析和自動(dòng)化辦公的利器。通過(guò)編寫(xiě)幾個(gè)簡(jiǎn)單的Python腳本,我們就能讓數(shù)據(jù)自動(dòng)匯聚、分析,并生成精美的日?qǐng)?bào),幫助我們?cè)谒蚕⑷f(wàn)變的市場(chǎng)中搶占先機(jī)。

2、導(dǎo)入數(shù)據(jù)

import pandas as pd
from datetime import datetime
df=pd.read_excel(r"D:\mydata\CSDNdata\銷(xiāo)售數(shù)據(jù)明細(xì).xlsx")

df.head()#數(shù)據(jù)預(yù)覽

查看數(shù)據(jù)屬性

df.info()

查看數(shù)據(jù)屬性,其中銷(xiāo)售日期為日期類(lèi)型,銷(xiāo)量和銷(xiāo)售額為數(shù)值類(lèi)型,其他均為文本數(shù)據(jù)類(lèi)型。

3、計(jì)算指標(biāo)

計(jì)算指標(biāo)設(shè)定,設(shè)置本文需要計(jì)算的指標(biāo),指標(biāo)計(jì)算如下:

  • • 收入=銷(xiāo)量*銷(xiāo)售額
  • • 單量=銷(xiāo)量匯總
  • • 貨品數(shù)=貨品數(shù)去重
  • • 收入環(huán)比:本月收入/上月收入-1
  • • 單量環(huán)比:本月單量/上月單量-1

3.1 計(jì)算12月相關(guān)指標(biāo)

首先選取12月的數(shù)據(jù),截止到2021年12月30日的數(shù)據(jù),分別計(jì)算本月截止12月30日收入、本月截止12月30日單量、本月截止12月30日貨品數(shù)。

#這里假設(shè)數(shù)據(jù)的時(shí)間段時(shí)2021年12月1日到2021年12月30日
the_month=df[(df['銷(xiāo)售日期']>=datetime(2021,12,1))&(df['銷(xiāo)售日期']<=datetime(2021,12,30))]
shouru1=(the_month['銷(xiāo)量']*the_month['銷(xiāo)售額']).sum()#本月截止12月30日收入
danliang1=the_month['銷(xiāo)量'].sum()#本月截止12月30日單量
huopin1=the_month['貨號(hào)'].nunique()#本月截止12月30日貨品數(shù)

print("本月截止12月30日收入為{:.2f}元,單量為{}個(gè),貨品數(shù)為{}個(gè)".format(shouru1,danliang1,huopin1))

輸出:

本月截止12月30日收入為369242.50元,單量為728個(gè),貨品數(shù)為227個(gè)

3.2 計(jì)算11月相關(guān)指標(biāo)

假設(shè)數(shù)據(jù)的時(shí)間段時(shí)2021年11月1日到2021年11月30日

last_month=df[(df['銷(xiāo)售日期']>=datetime(2021,11,1))&(df['銷(xiāo)售日期']<=datetime(2021,11,30))]
shouru2=(last_month['銷(xiāo)量']*last_month['銷(xiāo)售額']).sum()#上月截止11月30日收入
danliang2=last_month['銷(xiāo)量'].sum()#上月截止11月30日單量
huopin2=last_month['貨號(hào)'].nunique()#上月截止11月30日貨品數(shù)

print("上月截止11月30日收入為{:.2f}元,單量為{}個(gè),貨品數(shù)為{}個(gè)".format(shouru2,danliang2,huopin2))

輸出:

上月截止11月30日收入為654637.10元,單量為886個(gè),貨品數(shù)為211個(gè)

3.3 利用函數(shù)進(jìn)行封裝

以上我們可以發(fā)現(xiàn)規(guī)律,計(jì)算本月的相關(guān)指標(biāo)數(shù)據(jù)與計(jì)算上月同期的指標(biāo)數(shù)據(jù)計(jì)算邏輯是一樣的,除了數(shù)據(jù)選取的日期不一樣,我們可以自定義一個(gè)函數(shù),用于計(jì)算相關(guān)的數(shù)據(jù)指標(biāo),簡(jiǎn)化數(shù)據(jù)計(jì)算的流程。

def get_month_data(df):
    shouru=(df['銷(xiāo)量']*df['銷(xiāo)售額']).sum()
    danliang=df['銷(xiāo)量'].sum()
    huopin=df['貨號(hào)'].nunique()
    return(shouru,danliang,huopin)

shouru1,danliang1,huopin1=get_month_data(the_month)#計(jì)算本月數(shù)據(jù)指標(biāo)
shouru2,danliang2,huopin2=get_month_data(last_month)#計(jì)算上月數(shù)據(jù)指標(biāo)

print("本月截止12月30日收入為{:.2f}元,單量為{}個(gè),貨品數(shù)為{}個(gè)".format(shouru1,danliang1,huopin1))
print("上月截止11月30日收入為{:.2f}元,單量為{}個(gè),貨品數(shù)為{}個(gè)".format(shouru2,danliang2,huopin2))

3.4 計(jì)算環(huán)比

構(gòu)建一個(gè)DataFrame,填入具體的計(jì)算指標(biāo)數(shù)值,計(jì)算環(huán)比數(shù)據(jù)。

ribao=pd.DataFrame([[shouru1,shouru2],
                   [danliang1,danliang2],
                   [huopin1,huopin2]],
                   columns=['本月','上月'],index=['收入','單量','貨品數(shù)'])

ribao['環(huán)比']=ribao['本月']/ribao['上月']-1
ribao['環(huán)比']=ribao['環(huán)比'].apply(lambda  x:format(x,'.2%'))

ribao

3.5 計(jì)算每月的銷(xiāo)售額、銷(xiāo)量數(shù)據(jù)情況

計(jì)算每月的銷(xiāo)售額、銷(xiāo)售數(shù)據(jù)情況,使用groupby函數(shù),同時(shí)aggregate函數(shù)自定義數(shù)值的計(jì)算方式,數(shù)據(jù)結(jié)果如下。

df['銷(xiāo)售月份']=df['銷(xiāo)售日期'].astype(str).str[0:7].str.replace('-','')
df_group=df.groupby("銷(xiāo)售月份").aggregate({"銷(xiāo)售額":"sum","銷(xiāo)量":"sum"})

df_group

4、數(shù)據(jù)可視化

導(dǎo)入pyecharts庫(kù),制作組合圖。

#使用pyecharts庫(kù)作圖
from pyecharts import options as opts
from pyecharts.charts import Bar, Line

#導(dǎo)入數(shù)據(jù)
v1 = df_group['銷(xiāo)售額'].round(2).tolist()
v2 = df_group['銷(xiāo)量'].tolist()

#柱形圖
bar = (Bar()
       .add_xaxis(df_group.index.tolist())
       .add_yaxis("銷(xiāo)售額", v1 ,category_gap="60%",gap="10%") #設(shè)置柱形間隙寬度
       .extend_axis(yaxis=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} 單"), min_=0,max_=1750))#設(shè)置次坐標(biāo)軸坐標(biāo)大小
       .set_series_opts(label_opts=opts.LabelOpts(is_show=True))#顯示數(shù)據(jù)標(biāo)簽
       .set_global_opts(title_opts=opts.TitleOpts(title="21年每月銷(xiāo)售額與銷(xiāo)量情況"),

       )
       )

#折線(xiàn)圖
line = Line().add_xaxis(df.index.tolist()).add_yaxis("銷(xiāo)售量", v2, yaxis_index=1, is_smooth=True)

#組合圖
bar.overlap(line)

#在線(xiàn)顯示
bar.render_notebook()

由圖像可以看出,截止21年12月25日數(shù)據(jù),21年7月銷(xiāo)量最高、12月銷(xiāo)量最低、21年10月收入最高、2月收入最低。

總結(jié)

通過(guò)前面的步驟,我們順利完成了一份基礎(chǔ)的數(shù)據(jù)日?qǐng)?bào)。這份日?qǐng)?bào)雖能反映關(guān)鍵信息,但在實(shí)際工作場(chǎng)景中,數(shù)據(jù)報(bào)表的復(fù)雜程度遠(yuǎn)超于此。實(shí)際的數(shù)據(jù)報(bào)表往往涉及繁多的指標(biāo),計(jì)算邏輯也極為復(fù)雜,這就要求數(shù)據(jù)分析師持續(xù)優(yōu)化計(jì)算流程,以確保數(shù)據(jù)處理的高效與準(zhǔn)確。

到這里,我們已經(jīng)初步體驗(yàn)到 “Python 每日自動(dòng)生成數(shù)據(jù)日?qǐng)?bào)” 帶來(lái)的巨大便利,它真正實(shí)現(xiàn)了 “解放雙手,一鍵運(yùn)行”。從數(shù)據(jù)的抓取、清洗,到深入分析,再到可視化報(bào)告的生成,Python 憑借強(qiáng)大的功能和出色的靈活性,構(gòu)建起一個(gè)高效、精準(zhǔn)的數(shù)據(jù)處理流程。這一流程不僅大幅提升了工作效率,還讓我們得以從繁瑣的數(shù)據(jù)整理工作中解脫出來(lái),將更多精力投入到對(duì)數(shù)據(jù)背后深層含義的洞察以及策略制定上。

不過(guò),要達(dá)成這樣的成果并非輕而易舉。掌握 Python 編程是基礎(chǔ),同時(shí),還需要根據(jù)具體業(yè)務(wù)需求,對(duì)腳本進(jìn)行定制與優(yōu)化。但請(qǐng)堅(jiān)信,一旦熟練掌握這門(mén)技能,Python 必將成為你職業(yè)生涯中不可或缺的強(qiáng)大助力,為你在數(shù)據(jù)領(lǐng)域的探索與發(fā)展提供有力支持

以上就是Python自動(dòng)化實(shí)現(xiàn)日?qǐng)?bào)數(shù)據(jù)可視化的詳細(xì)內(nèi)容,更多關(guān)于Python數(shù)據(jù)可視化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論