Pandas: 두 줄의 차이점을 찾는 방법


DataFrame.diff() 함수를 사용하여 Pandas DataFrame에 있는 두 행 간의 차이를 찾을 수 있습니다.

이 함수는 다음 구문을 사용합니다.

DataFrame.diff(기간=1, 축=0)

금:

  • 마침표: 차이를 계산하기 위한 이전 줄 수입니다.
  • 축: 행(0) 또는 열(1)에서 차이점을 찾습니다.

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예 1: 이전 각 행 간의 차이점 찾기

다음과 같은 팬더 DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' period ': [1, 2, 3, 4, 5, 6, 7, 8],
                   ' sales ': [12, 14, 15, 15, 18, 20, 19, 24],
                   ' returns ': [2, 2, 3, 3, 5, 4, 4, 6]})

#view DataFrame
df

	period sales returns
0 1 12 2
1 2 14 2
2 3 15 3
3 4 15 3
4 5 18 5
5 6 20 4
6 7 19 4
7 8 24 6

다음 코드는 DataFrame의 각 현재 행과 이전 행 간의 차이를 찾는 방법을 보여줍니다.

 #add new column to represent sales differences between each row
df[' sales_diff '] = df[' sales ']. diff ()

#view DataFrame
df

        period sales returns sales_diff
0 1 12 2 NaN
1 2 14 2 2.0
2 3 15 3 1.0
3 4 15 3 0.0
4 5 18 5 3.0
5 6 20 4 2.0
6 7 19 4 -1.0
7 8 24 6 5.0

이전 여러 줄의 차이점도 찾을 수 있습니다. 예를 들어, 다음 코드는 현재 각 행과 세 행 이전에 표시된 행 간의 차이를 찾는 방법을 보여줍니다.

 #add new column to represent sales differences between current row and 3 rows earlier
df[' sales_diff '] = df[' sales ']. diff (periods= 3 )

#view DataFrame
df

        period sales returns sales_diff
0 1 12 2 NaN
1 2 14 2 NaN
2 3 15 3 NaN
3 4 15 3 3.0
4 5 18 5 4.0
5 6 20 4 5.0
6 7 19 4 4.0
7 8 24 6 6.0

예시 2: 조건에 따른 차이 찾기

또한 DataFrame을 필터링하여 현재 행과 이전 행의 차이가 특정 값보다 작거나 큰 행을 표시할 수도 있습니다.

예를 들어 다음 코드는 현재 행 값이 이전 행 값 보다 작은 행만 반환합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' period ': [1, 2, 3, 4, 5, 6, 7, 8],
                   ' sales ': [12, 14, 15, 13, 18, 20, 19, 24],
                   ' returns ': [2, 2, 3, 3, 5, 4, 4, 6]})

#find difference between each current row and the previous row
df[' sales_diff '] = df[' sales ']. diff ()

#filter for rows where difference is less than zero
df = df[df[' sales_diff ']< 0 ]

#view DataFrame
df

        period sales returns sales_diff
3 4 13 3 -2.0
6 7 19 4 -1.0

추가 리소스

Pandas의 여러 열에서 고유한 값을 찾는 방법
열 값으로 Pandas DataFrame을 필터링하는 방법
Pandas DataFrame에서 인덱스로 행을 선택하는 방법

의견을 추가하다

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