Учитывая, что объект группы pandas DataFrame by_name
, я хочу иметь возможность выбирать n строк из каждой группы.Как получить подмножество строк из каждой группы
Я надеялся .tail()
функция может это сделать, но это не удалось.
d = {
'name': ['Tom', 'John', 'Tom', 'Tom', 'John'],
'age': [18,54,27,44,12]
}
df = pd.DataFrame(d)
by_name = df.groupby('name')
two_rows_each = by_name.tail(2)
Ну, это выбрать количество строк, я хочу, но я не могу применить метод size()
на новом объекте.
print two_rows_each.size()
поднимает AttributeError: 'DataFrame' object has no attribute 'size'
Хотя я могу использовать size()
на оригинальном GroupBy by_name
:
name
John 2
Tom 3
dtype: int64
мне нужны оба, чтобы выбрать X строк из сгруппированных объекта и позже получить размеры групп.
Любые предложения, пожалуйста?
Что именно вы ожидаете получить? –
Объект groupby с двумя вхождениями в каждой группе (с учетом приведенного выше кода), чтобы я мог использовать метод 'size()' на нем. – nutship
Не существует 'size', поскольку состояние ошибки, вы после' shape'? – EdChum