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에 헤더 행을 추가하는 방법