рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдлрд╝реНрд░реЗрдо рдореЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рд╣реИ, рддреЛ рдЖрдкрдХреЛ n
рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗрдЧрд╛ рдФрд░ рдареАрдХ рд╕реЗ рд╕реЙрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП DataFrame рдХреЗ рд▓рд┐рдП nsmallest
рдФрд░ nlargest
рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рд╕рд╣реА рдлреНрд░реЗрдо рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
def _nsorted(self, columns, n, method, keep):
if not com.is_list_like(columns):
columns = [columns]
columns = list(columns)
ser = getattr(self[columns[0]], method)(n, keep=keep)
ascending = dict(nlargest=False, nsmallest=True)[method]
return self.loc[ser.index].sort_values(columns, ascending=ascending,
kind='mergesort')
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ:
In [71]: df = pd.DataFrame({'a':[1,2,3,4], 'b':[4,3,2,1]}, index=[0,0,1,1])
In [72]: df.nlargest(1, 'a')
Out[72]:
a b
1 4 1
1 3 2
In [73]: df.nlargest(2, 'a')
Out[73]:
a b
1 4 1
1 4 1
1 3 2
1 3 2
( @ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП
рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ?
рд╣рд╛рдВ рдореИрдВ рдЬрд▓реНрдж рд╣реА рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреВрдВрдЧрд╛
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ
рд▓реЗ 9 рдЬреВрдиреА 2016 рдЕ 23:30, рдЬреЛрд░рд┐рд╕ рд╡рд╛рди рдбреЗрди рдмреЛрд╢реЗ рд╕реВрдЪрдирд╛рдПрдВ
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ:
[71] рдореЗрдВ: df = pd.DataFrame ({'a': [1,2,3,4], 'b': [4,3,2,1]}, рдЗрдВрдбреЗрдХреНрд╕ = [0,0,1, 1])
[72] рдореЗрдВ: df.nlargest (1, 'a')
рдмрд╛рд╣рд░ [72]:
рдЕрдм
рез рек рез
рез рей реи[73] рдореЗрдВ: df.nlargest (2, 'a')
рдмрд╛рд╣рд░ [73]:
рдЕрдм
рез рек рез
рез рек рез
рез рей реи
рез рей реи
( @ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП
рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ?-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВред
рдореЗрд░рд╛ рдлрд┐рдХреНрд╕ рдмрд╣реБрдд рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдорд▓реНрдЯреАрдЗрдВрдбреЗрдХреНрд╕ рдФрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯреЗрдб рд╡реИрд▓реНрдпреВ рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ
Sum .19.2 рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЧрд┐рдирддреА рдХреЗ рд╕рд╛рде, рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред рдбреАрдПрдл "рдПрди" рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рд╡рд╣ рдмрдЧ рд╣реИ рдпрд╛ рдореИрдВ рдХреБрдЫ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ?
df.groupby(['a']).agg({'b':'count'}).nlargest(2, 'b')
b
a
1 1
2 1
3 1
4 1
1 1
2 1
3 1
4 1
@ рд╢рдВрдХрд░рдХрд░ рджреЗрдЦреЗрдВ: https://github.com/pandas-dev/pandas/issues/15297
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@ рд╢рдВрдХрд░рдХрд░ рджреЗрдЦреЗрдВ: https://github.com/pandas-dev/pandas/issues/15297