python對列進(jìn)行平移變換的方法(shift)
在進(jìn)行數(shù)據(jù)操作時(shí), 經(jīng)常會(huì)碰到基于同一列進(jìn)行錯(cuò)位相加減的操作, 即對某一列進(jìn)行向上或向下平移(shift).
往常, 我們都會(huì)使用循環(huán)進(jìn)行操作, 但經(jīng)過查閱相關(guān)資料, 發(fā)現(xiàn)結(jié)合pandas里的groupby和shift兩個(gè)函數(shù)就能輕松實(shí)現(xiàn)上述要求.
#創(chuàng)建樣例數(shù)據(jù) temp = pd.DataFrame({'id':[1,1,1,2,2,3],'value':[1,2,3,4,5,6]});temp
Out[1]: id value 0 1 1 1 1 2 2 1 3 3 2 4 4 2 5 5 3 6
temp['value_shift'] = temp.groupby('id')['value'].shift(1);temp Out[180]: id value value_shift 0 1 1 NaN 1 1 2 1.0 2 1 3 2.0 3 2 4 NaN 4 2 5 4.0 5 3 6 NaN temp['value_shift_1'] = temp.groupby('id')['value'].shift(-1);temp Out[181]: id value value_shift value_shift_1 0 1 1 NaN 2.0 1 1 2 1.0 3.0 2 1 3 2.0 NaN 3 2 4 NaN 5.0 4 2 5 4.0 NaN 5 3 6 NaN NaN
通過shift函數(shù)里面的值來控制向前還是向后偏移, 缺少的值會(huì)填充NaN.
groupby函數(shù)里的參數(shù)控制基于什么字段進(jìn)行shift.
官方文檔 這里是以index為基準(zhǔn).
以上這篇python對列進(jìn)行平移變換的方法(shift)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python框架中flask知識點(diǎn)總結(jié)
這篇文章給大家分享了關(guān)于學(xué)習(xí)python框架中flask知識點(diǎn)的總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2018-08-08Python3.5面向?qū)ο笈c繼承圖文實(shí)例詳解
這篇文章主要介紹了Python3.5面向?qū)ο笈c繼承,結(jié)合圖文與實(shí)例形式詳細(xì)分析了Python3.5面向?qū)ο笈c繼承的相關(guān)概念、原理、實(shí)現(xiàn)方法及操作注意事項(xiàng),需要的朋友可以參考下2019-04-04在Python的Django框架中編寫錯(cuò)誤提示頁面
這篇文章主要介紹了在Python的Django框架中編寫錯(cuò)誤提示頁面,包括傳統(tǒng)的404頁面和設(shè)置連接中斷警告等,需要的朋友可以參考下2015-07-07Python3 Tkinter選擇路徑功能的實(shí)現(xiàn)方法
今天小編就為大家分享一篇Python3 Tkinter選擇路徑功能的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06python 實(shí)現(xiàn)在一張圖中繪制一個(gè)小的子圖方法
今天小編就為大家分享一篇python 實(shí)現(xiàn)在一張圖中繪制一個(gè)小的子圖方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python使用Web框架Flask開發(fā)項(xiàng)目
本文詳細(xì)講解了Python使用Web框架Flask開發(fā)項(xiàng)目的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05基于django micro搭建網(wǎng)站實(shí)現(xiàn)加水印功能
這篇文章主要介紹了基于django micro搭建網(wǎng)站實(shí)現(xiàn)加水印功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05使用 tf.nn.dynamic_rnn 展開時(shí)間維度方式
今天小編就為大家分享一篇使用 tf.nn.dynamic_rnn 展開時(shí)間維度方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01