欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python對列進(jìn)行平移變換的方法(shift)

 更新時(shí)間:2019年01月10日 15:53:09   作者:芒蘿  
今天小編就為大家分享一篇python對列進(jìn)行平移變換的方法(shift),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

在進(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)文章

最新評論