Pandalar: i̇ki çizgi arasındaki fark nasıl bulunur?


Bir pandanın DataFrame’indeki iki satır arasındaki farkı bulmak için DataFrame.diff() işlevini kullanabilirsiniz.

Bu işlev aşağıdaki sözdizimini kullanır:

DataFrame.diff(dönemler=1, eksen=0)

Altın:

  • dönemler: farkı hesaplamak için önceki satırların sayısı.
  • eksen: satırlar (0) veya sütunlar (1) arasındaki farkı bulun.

Aşağıdaki örnekler bu fonksiyonun pratikte nasıl kullanılacağını göstermektedir.

Örnek 1: Önceki satırların her biri arasındaki farkı bulun

Aşağıdaki pandalara sahip olduğumuzu varsayalım 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

Aşağıdaki kod, bir DataFrame’in her geçerli satırı ile önceki satır arasındaki farkın nasıl bulunacağını gösterir:

 #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

Önceki birkaç satır arasındaki farkı da bulabileceğimizi unutmayın. Örneğin, aşağıdaki kod, her geçerli satır ile üç satır önce görünen satır arasındaki farkın nasıl bulunacağını gösterir:

 #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

Örnek 2: Koşula göre farkı bulun

Geçerli satır ile önceki satır arasındaki farkın belirli bir değerden az veya fazla olduğu satırları görüntülemek için DataFrame’i de filtreleyebiliriz.

Örneğin, aşağıdaki kod yalnızca geçerli satırın değerinin önceki satırın değerinden küçük olduğu satırları döndürür:

 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

Ek kaynaklar

Pandas’ta birden çok sütunda benzersiz değerler nasıl bulunur?
Pandas DataFrame’i sütun değerlerine göre filtreleme
Pandas DataFrame’de satırları dizine göre seçme

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir