亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術(shù)文章
文章詳情頁

利用python匯總統(tǒng)計(jì)多張Excel

瀏覽:12日期:2022-07-10 14:10:37

為什么越來越多的非程序員白領(lǐng)都開始學(xué)習(xí) Python ?他們可能并不是想要學(xué)習(xí) Python 去爬取一些網(wǎng)站從而獲得酷酷的成就感,而是工作中遇到好多數(shù)據(jù)分析處理的問題,用 Python 就可以簡單高效地解決。本文就通過一個(gè)實(shí)際的例子來給大家展示一下 Python 是如何應(yīng)用于實(shí)際工作中高效解決復(fù)雜問題的。

背景

小明就職于一家戶外運(yùn)動(dòng)專營公司,他們公司旗下有好多個(gè)品牌,并且涉及到很多細(xì)分的行業(yè)。小明在這家公司任數(shù)據(jù)分析師,平時(shí)都是通過 Excel 來做數(shù)據(jù)分析的。今天老板丟給他一個(gè)任務(wù):下班前篩選出集團(tuán)公司旗下最近一年銷售額前五名的品牌以及銷售額。

對于 Excel 大佬來說,這不就是分分鐘的事嗎?小明并沒有放在眼里,直到市場部的同事將原始的數(shù)據(jù)文件發(fā)給他,他才意識到事情并沒有那么簡單:

利用python匯總統(tǒng)計(jì)多張Excel

這并不是想象中的排序取前五就行了。這總共有90個(gè)文件,按常規(guī)的思路來看,他要么將所有文件的內(nèi)容復(fù)制到一張表中進(jìn)行分類匯總,要么將每張表格進(jìn)行分類匯總,然后再最最終結(jié)果進(jìn)行分類匯總。

想想這工作量,再想想截止時(shí)間,小明撓了撓頭,感覺到要漸漸頭禿。

思路分析

這種體力活,寫程序解決是最輕松的啦。小明這時(shí)候想到了他的程序員好朋友小段,于是他把這個(gè)問題拋給了小段。

小段縷了下他那所剩無幾的頭發(fā),說:so easy,只需要找潘大師即可。

小明說:你搞不定嗎?還要找其他人!

小段苦笑說:不不不,潘大師是 Python 里面一個(gè)處理數(shù)據(jù)的庫,叫 Pandas ,俗稱 潘大師。

小明說:我不管什么大師不大師,就說需要多久搞定。

小段說:給我?guī)追昼妼懗绦颍倥軒酌腌娋秃昧耍?/p>

小明發(fā)過去了膜拜大佬的表情。

小段略微思考了下,整理了一下程序思路:

計(jì)算每張表每一行的銷售額,用“訪客數(shù) * 轉(zhuǎn)化率 * 客單價(jià)”就行。 將每張表格根據(jù)品牌匯總銷售額。 將所有表格的結(jié)果匯總成一張總表 在總表中根據(jù)品牌匯總銷售額并排序

編碼

第零步,讀取 Excel :

import pandas as pddf = pd.read_excel('./tables/' + name)

第一步,計(jì)算每張表格內(nèi)的銷售額:

df[’銷售額’] = df[’訪客數(shù)’] * df[’轉(zhuǎn)化率’] * df[’客單價(jià)’]

第二步,將每張表格根據(jù)品牌匯總銷售額:

df_sum = df.groupby(’品牌’)[’銷售額’].sum().reset_index()

第三步,將所有表格的結(jié)果匯總成一張總表:

result = pd.DataFrame()result = pd.concat([result, df_sum])

第四步,在總表中根據(jù)品牌匯總銷售額并排序:

final = result.groupby(’品牌’)[’銷售額’].sum().reset_index().sort_values(’銷售額’, ascending=False)

最后,我們來看看完整的程序:

import pandas as pdimport osresult = pd.DataFrame()for name in os.listdir('./tables'): try: df = pd.read_excel('./tables/' + name) df[’銷售額’] = df[’訪客數(shù)’] * df[’轉(zhuǎn)化率’] * df[’客單價(jià)’] df_sum = df.groupby(’品牌’)[’銷售額’].sum().reset_index() result = pd.concat([result, df_sum]) except: print(name) passfinal = result.groupby(’品牌’)[’銷售額’].sum().reset_index().sort_values(’銷售額’, ascending=False)pd.set_option(’display.float_format’, lambda x: ’%.2f’ % x)print(final.head())

最后的結(jié)果是這樣的:

品牌 銷售額15 品牌-5 1078060923.628 品牌-17 1064495314.964 品牌-13 1038560274.213 品牌-12 1026115153.0013 品牌-3 1006908609.07

可以看到最終的前五已經(jīng)出來了,整個(gè)程序運(yùn)行起來還是很快的。

幾分鐘之后,小段就把結(jié)果給小明發(fā)過去了,小明感動(dòng)得內(nèi)牛滿面,直呼改天請吃飯,拜師學(xué)藝!

總結(jié)

本文主要是想通過一個(gè)實(shí)際的案例來向大家展示潘大師(Pandas)的魅力,特別是應(yīng)用于這種表格處理,可以說是太方便了。寫過程序的可能都有點(diǎn)熟悉的感覺,這種處理方式有點(diǎn)類似于 SQL 查詢語句。潘大師不僅能使我們的程序處理起來變得更簡單高效,對于需要經(jīng)常處理表格的非程序員也是非常友好的,上手起來也比較簡單。

示例代碼:https://github.com/JustDoPython/python-examples/tree/master/xianhuan/pandasexcel

以上就是利用python匯總統(tǒng)計(jì)多張Excel的詳細(xì)內(nèi)容,更多關(guān)于python匯總統(tǒng)計(jì)多張Excel的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: python
相關(guān)文章:
主站蜘蛛池模板: 欧美精选欧美极品 | 久久久国产精品免费 | 在线日韩欧美一区二区三区 | 亚洲一在线 | www.日本免费 | 久久精品网站免费观看 | 看欧美的一级毛片 | 99日韩| 欧美亚洲国产成人精品 | 国产欧美日韩亚洲精品区2345 | 欧美在线a级高清 | 久久视精品 | 步兵一区二区三区在线观看 | 亚洲rct中文字幕在线 | 99九九成人免费视频精品 | 99视频在线永久免费观看 | 亚洲最大情网站在线观看 | 精品日本久久久久久久久久 | 狠色狠狠色狠狠狠色综合久久 | 三级欧美 | 五月久久亚洲七七综合中文网 | 国产在线观看xxxx免费 | 国产午夜精品理论片小yo奈 | 精品亚洲一区二区 | 国产一级做a爰片在线看免费 | 日产一区两区三区 | 久久青草免费免费91线频观看 | 一级毛毛片毛片毛片毛片在线看 | 国产精品久久久久久一级毛片 | 怡红院男人的天堂 | 在线成人免费观看国产精品 | 成人怡红院视频在线观看 | 国产一级高清视频 | 一级毛片不卡片免费观看 | 一级毛片不收费 | 欧美高清亚洲欧美一区h | 欧美一区二区三区视频在线 | 亚洲欧美国产精品专区久久 | 日本男人天堂 | 国产一区二区三区在线观看视频 | 最全精品自拍视频在线 |