У меня есть набор данных, подобный следующему в файле Excel с именем data.xlsx
Building name salary
00Apple032 Bob 50000
00Apple032 James 30000
0Bean032 James 30000
0Soda987 Alex 0
0Bean032 Bryon 32000
Я создал два фрейма данных из данных.
df = pd.read_excel('data.xlsx', sheet_name='Sheet1, dtype=str)
grouped_df = pd.read_excel('data.xlsx', sheet_name='Sheet1, dtype=str)
grouped = grouped_df.groupby("Building")[["Building", "name", "salary']]
Прежде чем я уйдуздесь .. причина, по которой я создал исходный df, а также grouped_df (оба являются фреймами данных) ... Я не уверен, что применяя функцию группировки к исходному df и назначая ее новой переменной для одногоСтрока кода (как в приведенной ниже строке) будет как-то портить исходные данные и создавать проблемы в дальнейшем.Это может быть неточным.
grouped = df.groupby("Builing")[["Building", "name", "salary']]
Anywho.Насколько мне известно, этот сгруппированный фрейм данных не похож на обычный фрейм данных.Тип указан как
pandas.core.groupby.groupby.DataFrameGroupBy
На обычном фрейме данных, который не сгруппирован, я могу сделать что-то вроде этого:
x = input("search for: ")
df[df['Building'].str.contains(x)]]
однако на сгруппированном кадре данных это не работает.
Моя проблема в том, что я пытаюсь обойти это, - мне нужно разрешить возможность поиска в этом сгруппированном фрейме данных для печати групп, но пользователь не знает точного или точного имени группы.Я ищу яблоки?Или 00Apples .. вы можете увидеть проблему.
Хотя я могу запрашивать данные следующим образом:
grouped.get_group('00Apples032')
У меня нет способа предложить кому-то возможность искать эту группу с помощью чего-то вроде str.contains.
Что я пробовал
grouped[grouped["Building"].str.contains("Apples")]
ОШИБКА
exception: Columns already selected