python 은 rolling 과 apply 함수 의 아래 값 추출 작업 을 실현 합 니 다.

나 는 쓸데없는 말 을 더 이상 하지 않 겠 으 니,모두들 코드 를 직접 보 는 것 이 좋 겠 다.

import pandas as pd

def get_under_rolling(df,window,user,name):
  df[name] = df[user].iloc[::-1].rolling(window=window).apply(lambda x:x[0]).iloc[::-1]
  return df

if __name__ == '__main__':
  df = pd.DataFrame({'a':[1,2,3,4,5],
          'b':[2,3,4,5,6]})
  #  b         c 
  df = get_under_rolling(df, window=3, user='b',name='c')
원본 df

새로운 df

추가 지식:python:rolling 과 apply 를 이용 하여 DataFrame 을 여러 열 로 스크롤 하고 데이터 상자 로 스크롤 합 니 다.
코드 봐~

#          
df1 = [1,2,3,4,5]
df2 = [2,3,4,5,6]
df = pd.DataFrame({'a':list(df1),'b':list(df2)})
print(df)

  a b
 0 1 2
 1 2 3
 2 3 4
 3 4 5
 4 5 6
다음은 스크롤 함수 입 니 다.

#       
# handle           
def handle(x,df,name,n):
  df = df[name].iloc[x:x+n,:]
  print(df)
  return 1
# group_rolling      
# n:     
# df:     
# name:      
def group_rolling(n,df,name):
  df_roll = pd.DataFrame({'a':list(range(len(df)-n+1))})
  df_roll['a'].rolling(window=1).apply(lambda x:handle(int(x[0]),df,name,n),raw=True)
초기 데이터 상 자 를 스크롤 합 니 다.
그 중:
n=2,name=[‘a',‘b']
group_rolling(n=2,df=df,name=['a','b'])
스크롤 할 때마다 결 과 는 다음 과 같 습 니 다.

  a b
0 1 2
1 2 3

  a b
1 2 3
2 3 4

  a b
2 3 4
3 4 5

  a b
3 4 5
4 5 6
이상 의 python 은 rolling 과 apply 함수 의 아래 값 추출 작업 을 실현 하 는 것 이 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시기 바 랍 니 다.여러분 들 도 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기