大家好,我是皮皮。
一、前言
前幾天在小小明大佬的Python/ target=_blank class=infotextkey>Python交流群中遇到一個(gè)粉絲問(wèn)了一個(gè)使用Python實(shí)現(xiàn)數(shù)理統(tǒng)計(jì)的實(shí)戰(zhàn)問(wèn)題,覺得還挺有用的,這里拿出來(lái)跟大家一起分享下。
Excel
數(shù)據(jù)截圖如下所示:
二、實(shí)現(xiàn)過(guò)程
這里【小小明】大佬給了兩個(gè)方法,一個(gè)是中的方法,一個(gè)是使用進(jìn)行實(shí)現(xiàn)。
Excel
Python
【方法一】實(shí)現(xiàn) 只需要在單元格中輸入對(duì)應(yīng)的公式,之后使用填充即可實(shí)現(xiàn)批量數(shù)據(jù)的計(jì)算,公式如下所示:
Excel
=SUM(B2:GG2)/COUNTIF(B2:GG2,"<>0")
=STDEVA(IF(B2:GG2=0,"",B2:GG2))
其中需要注意第二個(gè)公式,需要注意下,如下所示:
這里順便給大家說(shuō)下這個(gè)快捷鍵的左右,還是蠻實(shí)用的,
最終得到的數(shù)據(jù)結(jié)果如下所示:
【方法二】實(shí)現(xiàn)
Python
使用實(shí)現(xiàn),就更加簡(jiǎn)單了,這里給出【小小明】大佬的代碼,如下所示:
Pandas
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è)實(shí)現(xiàn)數(shù)理統(tǒng)計(jì)處理的問(wèn)題,文中針對(duì)該問(wèn)題,給出了具體的解析和代碼實(shí)現(xiàn),幫助粉絲順利解決了問(wèn)題。
Python
最后感謝粉絲提問(wèn),感謝【小小明】大佬給出的思路和代碼解析,感謝【dcpeng】等人參與學(xué)習(xí)交流。