給定一個熊貓DataFrame的groupby對象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'
雖然我可以在原有GROUPBY by_name
使用size()
:
name
John 2
Tom 3
dtype: int64
我需要同時,從分組的對象選擇X行,後來得到的尺寸組。
有什麼建議嗎?
你到底希望得到什麼? –
每個組中只有兩次出現的groupby對象(給定上面的代碼),這樣我就可以在其上使用'size()'方法。 – nutship
錯誤狀態沒有'size',你在'shape'之後嗎? – EdChum