本篇文章為大家展示了Python中怎么處理大數(shù)據(jù),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),豐寧企業(yè)網(wǎng)站建設(shè),豐寧品牌網(wǎng)站建設(shè),網(wǎng)站定制,豐寧網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,豐寧網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
import pandas as pd import collections df = pd.read_excel("D:/Download/chrome/sample-salesv3.xlsx") #print (df.head(10)) df["date"] = pd.to_datetime(df["date"]) # print (df.head(10)) df1 = df.set_index("date").resample("M")['ext price'].sum() # print(df1.head())
統(tǒng)計(jì)每個(gè)用戶每個(gè)月"ext price"這個(gè)屬性的sum值,利用Grouper
df2 = df.groupby(["name",pd.Grouper(key = "date",freq="M")])["ext price"] print(df2.head(10))
Agg
agg函數(shù),它提供基于列的聚合操作。而groupby可以看做是基于行,或者說(shuō)index的聚合操作。
從實(shí)現(xiàn)上看,groupby返回的是一個(gè)DataFrameGroupBy結(jié)構(gòu),這個(gè)結(jié)構(gòu)必須調(diào)用聚合函數(shù)(如sum)之后,才會(huì)得到結(jié)構(gòu)為Series的數(shù)據(jù)結(jié)果。
而agg是DataFrame的直接方法,返回的也是一個(gè)DataFrame。當(dāng)然,很多功能用sum、mean等等也可以實(shí)現(xiàn)。但是agg更加簡(jiǎn)潔, 而且傳給它的函數(shù)可以是字符串,也可以自定義,參數(shù)是column對(duì)應(yīng)的子DataFrame
獲取"ext price","quantity","unit price"3列的各自的累計(jì)值和均值
df3 = df[["ext price","quantity","unit price"]].agg(["sum","mean"]) print(df3.head())
可以針對(duì)不同的列使用不同的聚合函數(shù)
df4 = df.agg({"ext price":["sum","mean"],"quantity":["sum","mean"],"unit price":["mean"]}) print(df4.head())
也可以自定義函數(shù),比如,統(tǒng)計(jì)sku中,購(gòu)買次數(shù)最多的產(chǎn)品編號(hào),通過(guò)lambda表達(dá)式來(lái)做。
#統(tǒng)計(jì)sku中,購(gòu)買次數(shù)最多的產(chǎn)品編號(hào) get_max = lambda x:x.value_counts(dropna=False).index[0] get_max.__name__ = "most frequent" df5 = df.agg({"ext price":["sum","mean"], "quantity":["sum","mean"], "unit price":["mean"], "sku":[get_max] }) print(df5)
如果希望輸出的列按照某個(gè)順序排列,可以使用collections的OrderedDict
agg_dict = { "ext price":["sum","mean"], "quantity":["sum","mean"], "unit price":["mean"], "sku":[get_max] } #按照列名的長(zhǎng)度排序。OrderedDict的順序是跟插入順序一致的 df6 = df.agg(collections.OrderedDict(sorted(agg_dict.items(),key=lambda x:len(x[0])))) print(df6)
上述內(nèi)容就是Python中怎么處理大數(shù)據(jù),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
標(biāo)題名稱:Python中怎么處理大數(shù)據(jù)
分享網(wǎng)址:http://chinadenli.net/article16/pihddg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)頁(yè)設(shè)計(jì)公司、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)