Как я могу получить количество строк в DataFrame, содержащий определенное значение в определенном столбце, используя панд? Например, у меня есть следующие таблицы данных:
ClientID LastName
0 34 Johnson
1 67 Smith
2 53 Brows
Как я могу найти номер строки, которая 'Смит' в 'фамилия' колонны?
Чтобы получить все индексы, что матчи 'Смит'
>>> df.loc[df['LastName']=='Smith'].index
Int64Index([1], dtype='int64')
или
>>> df.loc[df['LastName']=='Smith'].index.values
array([1])
или если есть только один, и вы хотите, чтобы целое, просто подмножество
>>> df.loc[df['LastName']=='Smith'].index[0]
1
df.index[df.LastName == 'Smith']
Или
df.query('LastName == "Smith"').index
Возвращает все индексы строки, где имя
- это Смит
Int64Index([1], dtype='int64')
df.loc[df.LastName == 'Smith']
возвращает строку
ClientID LastName
1 67 Smith
и
df.loc[df.LastName == 'Smith'].index
возвращает индекс
Int64Index([1], dtype='int64')
Примечание: названия столбцов 'фамилия' и 'фамилия' или даже 'фамилия' Три уникальных имен. Лучшей практикой было бы сначала проверить точное название, используя ДФ.столбцы. Если вам действительно нужно, чтобы полоса имена столбцов все пробелы, вы можете сначала сделать
df.columns = [x.strip().replace(' ', '') for x in df.columns]
len(df[df["Lastname"]=="Smith"].values)
count_smiths = (df['LastName'] == 'Smith').sum()