日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一日一技:如何從大量商品數(shù)據(jù)里面找到降價商品?

如下圖所示,是美國電商沃爾瑪?shù)娜旧唐窋?shù)據(jù):

每個商品每天都會爬一次,一共有61w+條數(shù)據(jù)。里面有N個商品降價了,現(xiàn)在需要把這些降價的商品找出來。

商品有十幾萬個,如果你分別找到每個商品的ID,然后用ID再找到這個商品每一天的數(shù)據(jù),最后看它是否降價,這個工作量非常大,速度也會非常慢。

Pandas內(nèi)部使用了SIMB技術(shù)來對并行計算進(jìn)行優(yōu)化,我們需要盡量在不使用for循環(huán)的情況下,完成這個任務(wù)。

為了簡單起見,我們假設(shè)降價就是指今天比昨天的價格低,不考慮先漲價再降價的情況。

要解決這個問題,我們需要使用DataFrame的pct_change()方法。它就像是reduce一樣,給出一系列數(shù)據(jù),它會計算數(shù)據(jù)改變量的百分比——第二條相對于第一條數(shù)據(jù)的改變,第三條數(shù)據(jù)相對于第二條數(shù)據(jù)的改變,第四條數(shù)據(jù)相對于第三條數(shù)據(jù)的改變。

首先我們使用date字段對數(shù)據(jù)進(jìn)行排序,確保價格是按時間排列的。然后對商品的id進(jìn)行分組,這樣就能拿到每一個商品每天的價格了。然后對price字段使用pct_change():

df2['pct'] = df2.sort_values(['date', 'id']).groupby(['id']).price.pct_change()

運(yùn)行效果如下圖所示:

圖中最右側(cè)pct字段是NaN,是因為這是這些商品的第一條數(shù)據(jù),所以始終是NaN.

我們篩選出今天(2022-05-16),pct小于0的商品:

這些就是降價的商品了。我們可以隨便篩選一個商品來檢查一下:

使用pct_change()速度非??欤?0w數(shù)據(jù)幾乎秒出。比for循環(huán)快多了。


文章題目:一日一技:如何從大量商品數(shù)據(jù)里面找到降價商品?
URL分享:http://m.5511xx.com/article/coesogo.html