Як отримати номери рядків у pandas dataframe


Часто ви можете отримати номери рядків у pandas DataFrame, які містять певне значення.

На щастя, це легко зробити за допомогою функції .index .

Цей підручник демонструє кілька прикладів практичного використання цієї функції.

Приклад 1: отримати номери рядків, які відповідають певному значенню

Припустімо, що у нас є наступні pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

#view DataFrame 
print (df)

        team assists points
0 25 5 Mavs
1 12 7 Mavs
2 15 7 Spurs
3 14 9 Celtics
4 19 12 Warriors

Ми можемо використати наступний синтаксис, щоб отримати номери рядків, де «команда» дорівнює Mavs:

 #get row numbers where 'team' is equal to Mavs
df[df[' team '] == ' Mavs ']. index

Int64Index([0, 1], dtype='int64')

Ми бачимо, що назва команди дорівнює «Mavs» у рядках з індексами 0 і 1 .

Ми також можемо отримати номери рядків, де знаходиться назва команди в певному списку назв команд:

 #get row numbers where 'team' is equal to Mavs or Spurs
filter_list = [' Mavs ', ' Spurs ']

#return only rows where team is in the list of team names
df[df. team . isin (filter_list)]. index

Int64Index([0, 1, 2], dtype='int64')

Ми бачимо, що назва команди дорівнює «Mavs» або «Spurs» в індексах рядків 0 , 1 і 2 .

Приклад 2: отримати унікальний номер рядка

Припустімо, що у нас є наступні pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

Якщо ви знаєте, що один рядок відповідає певному значенню, ви можете отримати цей унікальний номер рядка за допомогою такого синтаксису:

 #get the row number where team is equal to Celtics
df[df[' team '] == ' Celtics ']. index [ 0 ]

3

Ми бачимо, що команда рівна «Селтікс» на рядку номер 3 .

Приклад 3: Отримати суму номерів рядків

Припустімо, що у нас є наступні pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

Якщо ви хочете дізнатися загальну кількість рядків, у яких стовпець дорівнює певному значенню, ви можете використовувати такий синтаксис:

 #find total number of rows where team is equal to Mavs
len (df[df[' team '] == ' Celtics ']. index )

2

Ми бачимо, що ця команда дорівнює «Мавсам» за 2 рядками.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:

Як знайти унікальні значення в кількох стовпцях у Pandas
Як відфільтрувати Pandas DataFrame за кількома умовами
Як підрахувати відсутні значення в Pandas DataFrame

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *