Як знайти найближче значення в pandas dataframe (з прикладом)
Ви можете використовувати наступний базовий синтаксис, щоб знайти рядок у pandas DataFrame, який містить значення, найближче до значення, указаного в певному стовпці:
#find row with closest value to 101 in points column df_closest = df. iloc [(df[' dots ']- 101 ). abs (). argsort ()[:1]]
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: знайдіть найближче значення в Pandas DataFrame
Припустімо, що ми маємо такий фрейм даних pandas, який містить кількість очок, набраних різними баскетбольними командами:
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
Тепер припустімо, що ми хочемо вибрати рядок DataFrame, який містить значення в стовпці з крапками , найближче до 101 .
Для цього ми можемо використати такий синтаксис:
#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
З результату ми бачимо, що мережі мають значення в стовпці очок, найближче до 101 .
Зауважте, що ми також можемо використовувати tolist() , щоб відобразити лише найближче значення, а не весь рядок у pandas DataFrame:
#display value closest to 101 in the points column df_closest[' points ']. tolist () [100]
Також зауважте, що ми можемо змінити значення після функції argsort() , щоб знайти кілька найближчих значень.
Наприклад, ми можемо використовувати наступний синтаксис, щоб знайти рядки в DataFrame з 2 значеннями, найближчими до 101, у стовпці точок :
#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
З результату ми бачимо, що Нетс мають найближче значення до 101 у стовпці очок, тоді як Мавс мають найближче значення до 101 у стовпці очок .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші поширені завдання панди:
Pandas: як вибрати рядки на основі значень стовпців
Pandas: як об’єднати рядки з однаковими значеннями стовпців
Pandas: як видалити всі рядки, крім деяких