盤點(diǎn)一個(gè)使用Python實(shí)現(xiàn)Excel數(shù)理統(tǒng)計(jì)的實(shí)戰(zhàn)問題
回復(fù)“書籍”即可獲贈(zèng)Python從入門到進(jìn)階共10本電子書
大家好,我是皮皮。
一、前言
前幾天在小小明大佬的Python交流群中遇到一個(gè)粉絲問了一個(gè)使用Python實(shí)現(xiàn)Excel數(shù)理統(tǒng)計(jì)的實(shí)戰(zhàn)問題,覺得還挺有用的,這里拿出來跟大家一起分享下。

數(shù)據(jù)截圖如下所示:

二、實(shí)現(xiàn)過程
這里【小小明】大佬給了兩個(gè)方法,一個(gè)是Excel中的方法,一個(gè)是使用Python進(jìn)行實(shí)現(xiàn)。
【方法一】Excel實(shí)現(xiàn)
只需要在單元格中輸入對(duì)應(yīng)的公式,之后使用填充即可實(shí)現(xiàn)批量數(shù)據(jù)的計(jì)算,公式如下所示:
=SUM(B2:GG2)/COUNTIF(B2:GG2,"<>0")
=STDEVA(IF(B2:GG2=0,"",B2:GG2))
其中需要注意第二個(gè)公式,需要注意下,如下所示:

這里順便給大家說下這個(gè)快捷鍵的左右,還是蠻實(shí)用的,

最終得到的數(shù)據(jù)結(jié)果如下所示:

【方法二】Python實(shí)現(xiàn)
使用Pandas實(shí)現(xiàn),就更加簡(jiǎn)單了,這里給出【小小明】大佬的代碼,如下所示:
import pandas as pd
df = pd.read_excel('產(chǎn)品周需求.xlsx', usecols='A:GG', index_col=0)
df['total'] = df.iloc[:, :188].sum(axis=1)
df['mean'] = df.iloc[:, :188].apply(lambda x: x[x != 0].mean(), axis=1)
df['std'] = df.iloc[:, :188].apply(lambda x: x[x != 0].std(), axis=1)
print(df)

可以看到和方法一得到的結(jié)果是一致的。
三、總結(jié)
大家好,我是皮皮。這篇文章主要盤點(diǎn)了一個(gè)Python實(shí)現(xiàn)數(shù)理統(tǒng)計(jì)處理的問題,文中針對(duì)該問題,給出了具體的解析和代碼實(shí)現(xiàn),幫助粉絲順利解決了問題。
最后感謝粉絲提問,感謝【小小明】大佬給出的思路和代碼解析,感謝【dcpeng】等人參與學(xué)習(xí)交流。
大家在學(xué)習(xí)過程中如果有遇到問題,歡迎隨時(shí)聯(lián)系我解決(我的微信:pdcfighting),應(yīng)粉絲要求,我創(chuàng)建了一些高質(zhì)量的Python付費(fèi)學(xué)習(xí)交流群和付費(fèi)接單群,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!

小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
------------------- End -------------------
往期精彩文章推薦:

歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群】
萬水千山總是情,點(diǎn)個(gè)【在看】行不行
/今日留言主題/
隨便說一兩句吧~~
