Pandas에서 열을 오프셋하는 방법: 예제 포함


Shift() 함수를 사용하여 Pandas DataFrame의 열에서 값을 위나 아래로 이동할 수 있습니다.

 #shift values down by 1
df[' column1 '] = df[' column1 ']. shift (1)

#shift values up by 1
df[' column1 '] = df[' column1 ']. shift (-1)

다음 예에서는 다음 pandas DataFrame에서 실제로 이 함수를 사용하는 방법을 보여줍니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' product ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' sales ': [4, 7, 8, 12, 15, 19]})

#view DataFrame
df

        product sales
0 to 4
1 B 7
2 C 8
3 D 12
4 E 15
5 F 19

예 1: 열을 위 또는 아래로 이동

다음 코드는 “제품” 열의 모든 값을 1씩 아래로 이동하는 방법을 보여줍니다.

 #shift all 'product' values down by 1
df[' product '] = df[' product ']. shift (1)

#view updated DataFrame
df

	product sales
0 NaN 4
1 to 7
2 B 8
3 C 12
4 D 15
5 E 19

“product” 열의 각 값은 1씩 이동했고 열의 첫 번째 값은 NaN으로 변경되었습니다.

또한 Product 열(“F”)의 마지막 값이 DataFrame에서 완전히 제거되었습니다.

DataFrame에서 값 “F”를 유지하려면 먼저 DataFrame 하단에 빈 줄을 추가한 다음 오프셋을 수행해야 합니다.

 import numpy as np

#add empty row to bottom of DataFrame
df. loc [len(df. index )] = [np. nah , np. no ]

#shift all 'product' values down by 1
df[' product '] = df[' product ']. shift (1)

#view updated DataFrame
df

	product sales
0 NaN 4.0
1 to 7.0
2B 8.0
3C 12.0
4 D 15.0
5 E 19.0
6 F NaN

“F” 값은 “제품” 열의 마지막 값으로 유지됩니다.

예 2: 여러 열을 위 또는 아래로 이동

다음 코드는 “product” 및 “sales” 열의 모든 값을 2만큼 위로 이동하는 방법을 보여줍니다.

 #shift all 'product' and 'sales' values up by 2
df[[' product ', ' sales ']] = df[[' product ', ' sales ']]. shift (-2)

#view updated DataFrame
df

        product sales
0 C 8.0
1 D 12.0
2 E 15.0
3 F 19.0
4 NaN NaN
5 NaN NaN

“product” 및 “sales” 열의 각 값은 2만큼 위로 이동되었으며, 각 열의 아래쪽 두 값은 NaN으로 변경되었습니다.

참고 : 여기에서 Shift() 함수에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas DataFrame에 행을 추가하는 방법
Pandas DataFrame에 열을 추가하는 방법
Pandas DataFrame에 헤더 행을 추가하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다