我想計算多列的滯后。我可以分別為每一列執行此操作,如下所示。如何避免重復的 groupby 和排序。
### Pandas previous week values
search = search.assign(asp_lstwk2 = search.sort_values(by = 'firstdayofweek').groupby('asin_bk')['asp'].shift(1))\
.assign(lbb_lstwk2 = search.sort_values(by = 'firstdayofweek').groupby('asin_bk')['lbb'].shift(1))\
.assign(repoos_lstwk2 = search.sort_values(by = 'firstdayofweek').groupby('asin_bk')['repoos'].shift(1))\
.assign(ordered_units_lstwk2 = search.sort_values(by = 'firstdayofweek').groupby('asin_bk')['ordered_units'].shift(1))
uj5u.com熱心網友回復:
嘗試:
search = search.join(search.sort_values(by = 'firstdayofweek')
.groupby('asin_bk')[['asp','lbb','repoos','ordered_units']]
.shift().add_suffix('_lstwk2'))
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/455779.html
標籤:python-3.x 熊猫 数据框 熊猫-groupby
上一篇:如何從有條件的資料框中提取對值?
下一篇:使用鏈式規則洗掉熊貓中的一行
