Jak znaleźć najbliższą wartość w ramce danych pandas (z przykładem)
Możesz użyć następującej podstawowej składni, aby znaleźć wiersz w ramce danych pandy, który zawiera wartość najbliższą wartości określonej w określonej kolumnie:
#find row with closest value to 101 in points column df_closest = df. iloc [(df[' dots ']- 101 ). abs (). argsort ()[:1]]
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Znajdź najbliższą wartość w Pandas DataFrame
Załóżmy, że mamy następującą ramkę danych pand zawierającą liczbę punktów zdobytych przez różne drużyny koszykówki:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['Mavs', 'Nets', 'Hawks', 'Kings', 'Spurs', 'Cavs'], ' points ': [99, 100, 96, 104, 89, 93]}) #view DataFrame print (df) team points 0 Mavs 99 1 Nets 100 2 Hawks 96 3 Kings 104 4 Spurs 89 5 Cavs 93
Załóżmy teraz, że chcemy wybrać wiersz DataFrame, który zawiera wartość w kolumnie z kropkami najbliższą 101 .
W tym celu możemy użyć następującej składni:
#find row with closest value to 101 in points column df_closest = df. iloc [(df[' dots ']- 101 ). abs (). argsort ()[:1]] #view results print (df_closest) team points 1 Nets 100
Z wyniku widzimy, że Nets mają w kolumnie punktów wartość najbliższą 101 .
Zauważ, że możemy również użyć tolist() do wyświetlenia tylko najbliższej wartości zamiast całego wiersza w ramce danych pandy:
#display value closest to 101 in the points column df_closest[' points ']. tolist () [100]
Należy również pamiętać, że możemy zmienić wartość po funkcji argsort() , aby znaleźć wiele najbliższych wartości.
Na przykład możemy zastosować następującą składnię, aby znaleźć w DataFrame wiersze z 2 wartościami najbliższymi 101 w kolumnie punktów :
#find rows with two closest values to 101 in points column df_closest2 = df. iloc [(df[' dots ']- 101 ). abs (). argsort ()[:2]] #view results print (df_closest2) team points 1 Nets 100 0 Mavs 99
Z wyniku widzimy, że Nets mają w kolumnie punktów wartość najbliższą 101 , podczas gdy Mavs mają w kolumnie punktów najbliższą wartość 101 .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania związane z pandą:
Pandy: jak wybierać wiersze na podstawie wartości kolumn
Pandy: jak łączyć wiersze z tymi samymi wartościami kolumn
Pandy: jak usunąć wszystkie wiersze z wyjątkiem niektórych