рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкреГрд╖реНрда рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: https://en.wikipedia.org/wiki/Percentile#The_nearest -rank_method
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ? рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
>>> np.percentile(15, 20, 35, 40, 50], [5, 30, 40, 50, 100], interpolation='lower')
array([15, 20, 20, 35, 50])
рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ред рдЙрджрд╛рд╣рд░рдг 2 рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкреГрд╖реНрда рдореЗрдВ рджреЗрдЦреЗрдВ:
>>> np.percentile([3, 6, 7, 8, 8, 10, 13, 15, 16, 20], [25,50,75,100], interpolation='lower')
array([ 7, 8, 13, 20])
рдЬрдм рдпрд╣ [7,8,15,20]
рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдпрд╣ рдЗрд╕реА рддрд░рд╣ рддреАрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ
рдирд┐рдХрдЯрддрдо "рдмрд╣реБрдд рдкрд╛рд╕" рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ? рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдФрд░ рдмрд┐рдВрджреБ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕реАрдорд╛рдПрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпрд╣ рд╣реИ, рдЬрд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 0 рдФрд░ 100 рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдкреЗрдЯ рдкрд░ рдпрд╛ рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯ рд╕реЗ рдкрд╣рд▓реЗ? (рд╡рд╣ рдЖрдИрдЖрдИрдЖрд░рд╕реА рд╣реИ, рд╡реИрд╕реЗ рднреА рдпрд╣рд╛рдВ рдмрд╣реБрдд рдХрд╖реНрдЯрдкреНрд░рдж рдЬрдЯрд┐рд▓рддрд╛рдПрдВ рд╣реИрдВ)
рдЗрд╕реЗ рдирд╣реАрдВ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрд░ рд╕реА рдкреИрд░рд╛рдореАрдЯрд░ рдиреАрдЪреЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХреЛрдИ рдРрд╕рд╛ рд╡реНрдпрдХреНрддрд┐ рдЬрд╛рдирддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ ...ред
рд╕рдЪ рдХрд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдЬреНрдпрд╛рджрд╛рддрд░ рдмреЗрд╣рддрд░ рдкреНрд░рд▓реЗрдЦрди рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдФрд░ рдХреЛрдИ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рд╛рдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ...ред
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рд╕реА-рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рдЪреБрдирдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╡рд╛рдВрдЫрдиреАрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рдПрдХ рдФрд░ рдзрд╛рдЧрд╛ рдорд┐рд▓рд╛ рд╣реИ рдЬреЛ рд╕рдВрдпреЛрдЧрд╡рд╢ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрдард╛рддрд╛ рд╣реИ (Dec 2016)ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЬрд┐рд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдФрд░ рдЬрд┐рд╕реЗ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдирд┐рдХрдЯрддрдо рд░реИрдВрдХ рдХрд╣рддрд╛ рд╣реИ) рд╣реНрдпрдВрдбрдорд╛рди-рдлреИрди (рдПрдЪрдПрдВрдбрдПрдл) рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЙрджреНрдзреГрдд
рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ рдХрд┐ рд╕реБрдкреА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рдпрд╣ рдХреИрд╕реЗ рджрд┐рдЦреЗрдЧрд╛ рдХрд┐ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рдПрдХ рд╕рдорд╛рди рдЪреАрдЬрд╝ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ (рдЬреИрд╕реЗ, 'рдХрдо', 'рдирд┐рдХрдЯрддрдо'):
рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдкрд╣рд▓реА рдирдЬрд░ рдореЗрдВ рд╕реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдирд┐рдХрдЯрддрдо рд╡рдХреНрд░ рдЕрдзрд┐рдХ рдлреИрд▓рд╛ рд╣реБрдЖ рд╣реИ рдлрд┐рд░ рдПрдЪ рдПрдВрдб рдПрдл рд╡рдХреНрд░, рдЬреЛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЙрдкрдпреЛрдЧ 1 рдФрд░ рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдПрдЪ рдПрдВрдб рдПрдл 0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЕрдЧрд░ рдЖрдк рдкреНрд░рдорд╛рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВред 1000 рдмрд╛рд░ рджреЛрд╣рд░рд╛рдП рдЧрдП рд╕рдорд╛рди рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реА рдмрд╛рдд рджреЛрд╣рд░рд╛рдПрдВ, рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рд╡реЗ рдЕрднрд┐рд╕рд░рдг рдХрд░реЗрдВрдЧреЗред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпрд╛ рд╢рд╛рдпрдж рдирд╣реАрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдзреИрд░реНрдп рдпрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реА рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдЧрд▓рдд рд╕рдмреВрдд рджреЗрдВ :)
рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рдкреНрд░рддрд┐рд╢рдд рдбреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЛрдЧрд╛
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЕрдзрд┐рдорд╛рдирддрдГ рдбрд┐рд╕рдХрдВрдЯрд┐рдирд┐рдЯреА рдХреЗ рдЦреБрд▓реЗ / рдмрдВрдж рд╣реЛрдиреЗ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ
рдкрд╛рдардХреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: рдЗрд╕ рд╕реВрддреНрд░ рдХреЛ рдкреНрд░рдмрдВрдзрдиреАрдп рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рдЖрд▓реЗрдЦ рдХреЛ "рд╣рд▓" рдХреЗ рд░реВрдк рдореЗрдВ рдбреЙрдХреНрд╕ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рд╕рднреА рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЧреНрд░рд╛рдл рдЕрдм https://numpy.org/devdocs/reference/generated/numpy.percentage.html рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдкрд░ рд╣реИ
@ eric-wieser рдореБрдЭреЗ рд╡рд╣ рдЧреНрд░рд╛рдл рдмрдирд╛рдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЖрдЬ рдХреБрдЫ рдмрд╛рдж рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛, рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
@seberg рдореИрдВ рдпрд╣рд╛рдВ рдИрдорд╛рдирджрд╛рд░
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдЬреЛ рд╣рдореЗрд╢рд╛ рдЙрд╕реА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╡рд╣рд╛рдБ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЗрд╕реЗ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдкреНрд░рддрд┐рд╢рддрдХ рдХреА рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рднрд╛рд╖рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ 'рдЕрдЬреАрдм' рдкреИрд░рд╛рдореАрдЯрд░ рдмрджрд▓рдирд╛, рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред
@ ricardoV94 , рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рд╕рд┐рд░реНрдл рдЪреВрдХ рдХреЛ рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддреЗ, рдЪрд╛рд╣реЗ рд╡реЗ рдХрд┐рддрдиреЗ рднреА рдмреБрд░реЗ рд╣реЛрдВред рд╣рдо рджреЛрдиреЛрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ = "рдПрдЪ рдПрдВрдб рдХреЗ" рдХреА рддрд░рд╣ рдХреБрдЫ рднреА рдЙрдЬрд╛рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
C рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ 0% рдФрд░ 100% рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдбреЗрдЯрд╛ рдмрд┐рдВрджреБ рдкрд░ рдпрд╛ рдирд╣реАрдВ, рдЖрджрд┐)ред рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкрд░ рдкреИрд░рд╛рдореАрдЯрд░ C
рдореЗрдВ, рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХреЗрд╡рд▓ рдкреНрд░рдХреНрд╖реЗрдк рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдпрд╣рд╛рдВ рдЕрдВрддрд░ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдпрдХреАрди рд╣реИред C
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрджрд┐рдЧреНрдз рд╣реИ, рдПрдХ рдЙрдЪрд┐рдд рдирд╛рдо рд░реЗрдВрдЬ = 'рдиреНрдпреВрдирддрдо-рдЕрдзрд┐рдХрддрдо' рдпрд╛ рд╢реНрд░реЗрдгреА = 'рдПрдХреНрд╕рдЯреНрд░рдкрд▓реЗрдЯреЗрдб' рдпрд╛ рд╢рд╛рдпрдж рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреБрдЫ рдЕрд▓рдЧ рдЬреИрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдХрдИ рд╕рд╛рд░реЗ рдбреЗрдЯрд╛рдкреЙрдЗрдВрдЯреНрд╕ (рд╕рдВрднрд╡рддрдГ рдЫреЛрдЯреЗ рд╢реЛрд░ рдХреЗ рд╕рд╛рде) рдХреЗ рд╕рд╛рде рдкреНрд▓реЙрдЯреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд░реЗрдВ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрднрд┐рд╕рд░рдг рджреЗрдЦреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд░реЗрдВрдЬ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХрдо рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИред
@рдмрд░реНрдЧ рдореИрдВ рд╡рд┐рдзрд┐ = "рдПрдЪ рдПрдВрдб рдХреЗ" рдпрд╛ рд╢рд╛рдпрдж рд╡рд┐рдзрд┐ = "рдХреНрд▓рд╛рд╕рд┐рдХ" рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВред рдкреНрд░рдХреНрд╖реЗрдк = "рдХреЛрдИ рдирд╣реАрдВ" рднреА рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдбреЙрдХреНрд╕ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХреНрдпрд╛ рд╣реИ, рдпрд╛ рдпрджрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд┐рд╕рд╛рд▓ рд╣реИред
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдбреЙрдХреНрд▓реЛрдкреНрд▓рд┐рдм рдХреЛрдб рдХреЛ рдбреЙрдХреНрд╕ рдХреЗ рднреАрддрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдХрд╣реАрдВ рдФрд░ рдХрд░рддреЗ рд╣реИрдВ - рдЬреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдордиреНрд╡рдпрд┐рдд рд░рд╣реЗред
рдареАрдХ рд╣реИ, рдореИрдВ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдХреЛрдб-рдЫрд╡рд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреВрдВрдЧрд╛ред
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рднрд╛рдЧ рдбрд┐рд╕рдХрдВрдЯрд┐рдирд┐рдЯреА рдХреЗ рд▓рд┐рдП рдЦреБрд▓реЗ, рдмрдВрдж рдорд╛рд░реНрдХрд░ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдЯрд▓рдкреЛрдЯрд▓рд┐рдм рдореЗрдВ рдЙрд╕ (afaik) рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИред рд╣рд╛рд░реНрдб-рдХреЛрдбрд┐рдВрдЧ рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдереЛрдбрд╝реА рд╕рдордЭ рд╣реЛрдЧреАред
рд╢рд╛рдпрдж рдЕрдм рдХреЗ рд▓рд┐рдП рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВред рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ matplotlib рдХреЛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдорд░реНрдерди рдорд┐рд▓реЗред
рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдПрдХ рдмреЗрд╣рддрд░ рд╕реБрдЭрд╛рд╡ рд╣реЛрдЧрд╛, рдЬреЛ рдЕрднреА рднреА рдЕрд╕рдВрддреЛрд╖ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реИред
import matplotlib.pyplot as plt
a = [0,1,2,3]
p = np.arange(101)
plt.step(p, np.percentile(a, p, interpolation='linear'), label='linear')
plt.step(p, np.percentile(a, p, interpolation='higher'), label='higher', linestyle='--')
plt.step(p, np.percentile(a, p, interpolation='lower'), label='lower', linestyle='--')
plt.step(p, np.percentile(a, p, interpolation='nearest'), label='nearest', linestyle='-.',)
plt.step(p, np.percentile(a, p, interpolation='midpoint'), label='midpoint', linestyle='-.',)
plt.title('Interpolation methods for list: ' + str(a))
plt.xlabel('Percentile')
plt.ylabel('List item returned')
plt.yticks(a)
plt.legend()
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ interpolation = 'linear'
рдПрдХ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЪрд░рдгрдмрджреНрдз рд░реЗрдЦрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЕрдиреНрдпрдерд╛ рдЕрдЪреНрдЫреА рд▓рдЧрддреА рд╣реИред рдХреНрдпрд╛ рдЖрдк рдбреЙрдХреНрд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ PR рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, step
рдЖрдо рддреМрд░ рдкрд░ рднреНрд░рд╛рдордХ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрди рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рд╣реВрдВред linspace(0, 100, 60)
рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдордзреНрдпрд╡рд░реНрддреА рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рднреА рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛
рдореБрдЭреЗ рдХреЛрдИ рдЕрдВрджрд╛рдЬрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреАрдЖрд░ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реБрдЭрд╛рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдХреЗ рд╕рд╛рде рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк C
рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдкрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЕрдкрдиреЗ рдкреНрд░рддрд┐рд╢рддрдХ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ, рдлрд┐рд░ рдЗрд╕реЗ рд╕реБрдкреАрд░рд┐рдпрд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреНрд▓рдЧ рдХрд░реЗрдВ (рдЬреЛ C = 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЕрднреА рддрдХ рдмрд╛рдзреНрдп рдкреНрд░рддрд┐рд╢рдд рдореЗрдВ рд╕реЗ рд╕рд╣реА рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдПрдХ рдиреЛ-рдСрдк рд╣реИ):
def scale_percentiles(p, num, C=0):
"""
p : float
percentiles to be used (within 0 and 100 inclusive)
num : int
number of data points.
C : float
parameter C, should be 0, 0.5 or 1. Numpy uses 1, matlab 0.5, H&K is 0.
"""
p = np.asarray(p)
fact = (num-1.+2*C)/(num-1)
p *= fact
p -= 0.5 * (fact-1) * 100
p[p < 0] = 0
p[p > 100] = 100
return p
рдФрд░ рд╡реЛрдЗрд▓рд╛, "рдирд┐рдХрдЯрддрдо" рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдЕрдкрдирд╛ "рдПрдЪ рдПрдВрдб рдПрдл" рдорд┐рд▓реЗрдЧрд╛ рдФрд░ рд░реИрдЦрд┐рдХ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рдкреНрд▓реЙрдЯ рдорд┐рд▓реЗрдЧрд╛ред (рд▓рдВрдмрд┐рдд рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рдЧрд▓рдд рдорд┐рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рд╕рд╣реА рд╣реВрдВ)ред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ 0-100 (рд╕рдорд╛рди рд░реВрдк рд╕реЗ) рд╕реЗ рдбреЗрдЯрд╛ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд░рдЦрддреЗ рд╣реИрдВред C = 1 рдХреЗ рд▓рд┐рдП рдЖрдк 0 рд╡реЗрдВ рдкреНрд░рддрд┐рд╢рдд рдкрд░ рдорд┐рдирдЯ (рдбреЗрдЯрд╛) рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдореБрдЭреЗ "рдХреНрдпрд╛ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рдВрднрд╡рддрдГ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред 1 рдХреЗ рд▓рд┐рдП рд╕рдорд╛рд╡реЗрд╢реА рдирд╛рдо рдФрд░ 0 рдХреЗ рд▓рд┐рдП рдЕрдирдиреНрдп, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдереЛрдбрд╝рд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддрд╛ рд╣реИ (рдЬрдм рдЖрдк рдкреНрд░рддрд┐рд╢рдд рдХреА рдХреБрд▓ рд╕реАрдорд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдирдиреНрдп рд╕рдВрднрд╡ рдбреЗрдЯрд╛ рд╢реНрд░реЗрдгреА рдХреЗ рдмрд╛рд╣рд░ рд╣реИ)ред C = 1/2 рднреА рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдЕрдирдиреНрдп рд╣реИред
рдореИрдВ рд╕реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╡рд░реНрдгрдирд╛рддреНрдордХ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЖ рд╕рдХреЗред рдореИрдВ рдПрдХ "рд╡рд┐рдзрд┐" рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рднреА рдмреБрд░рд╛ рдирд╣реАрдВ рдорд╛рдиреВрдВрдЧрд╛ рддрд╛рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЪреВрдХ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ (рдкреНрд░рдХреНрд╖реЗрдк + рд╕реА рдХрд╛ рд╕рдВрдпреЛрдЬрди)ред рдпрд╛, рдЖрдк рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ, рдареАрдХ рд╣реИ ...ред
рдЕрдВрдд рдореЗрдВ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ: рдореИрдВ рдПрдХ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрд╡рд┐рджреН рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХрд┐рди рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдЖрдо рд╕рд╣рдорддрд┐ рд╣реИ (рдЖрд░ рдореЗрдВ рдХреБрдЫ рд╕рд╛рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдпрд╣рд╛рдВ рдЖрдпрд╛ рдерд╛ рддреЛ рдпрд╣ рдЖрд░ рдбреЙрдХ рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдПрдХ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЕрддреАрдд рдерд╛ рдЬреЛ рдЗрд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рд╕рднреА, рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрдХрд╛рд░ рд╣реИ, рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рджрд░реНрд╢рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрдХрд╛рд░ рдерд╛, рдХрд╛рдЧрдЬреЛрдВ рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреЗрддреЗ рд╣реБрдП рдФрд░ рдЕрдзрд┐рдХ рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛)ред
рдореИрдВ рдЙрд╕ H & F рдкреЗрдкрд░ рдХреЛ рдирд╣реАрдВ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддрд╛ (рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдпрд╣ рдкрдврд╝рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдзреАрдорд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛), рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рд╕рдорд░реНрдерди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╕реБрдиреНрди "рдирд┐рдХрдЯрддрдо" (рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп) рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛ рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╕рдорд░реНрдерди (рдкреНрд░рддрд┐рд╢рдд рдореЗрдВ) рдирд╣реАрдВ рд╣реИ, рдПрдЪ рдПрдВрдб рдПрдл рдХреЛ "рдирд┐рдХрдЯрддрдо" рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╕рдорд░реНрдерди рд╣реИ рдФрд░ рд╢рд╛рдпрдж рдорд┐рдбрдкреЙрдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣ C = 1/2 рд╣реЛрдЧрд╛, рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред
рдореИрдВ рдЦреБрдж рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд░рд╣рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд░реНрдерди рддрд░реНрдХ (рд╕реА = 1 рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬреИрд╕реЗ рдХрд┐ рдЦрддрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ), рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░рдг рд╣реИред
EDIT: рдорд┐рдбрдкреЙрдЗрдВрдЯ рдХрд╛ рд╕рдорд╛рди рд╕рдорд░реНрдерди рд╣реИ (рдбреЗрдЯрд╛ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП, рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рд╣реА рдирд╣реАрдВ), рдЦрд╕реНрддрд╛ рдореЗрдВ, рдЗрд╕рд▓рд┐рдП "= 1" рдХреЗ рд╕рд╛рде
@seberg рдпрд╣ рдореЗрд░реЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЕрдкрдирд╛ рдХреЛрдб рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд╕рд╛рдЗрди рдЕрдк рдЧрд▓рдд рдорд┐рд▓рд╛, рдЙрд╕ рдХреЛрдб рдореЗрдВ рд╡рд╣рд╛рдБ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд┐рдкрд░реАрдд рдерд╛ (рд╕реА = 0 рдПрдХ рдиреЛ-рдСрдк рди рд╕реА = 1:
def scale_percentiles(p, num, C=0):
"""
p : float
percentiles to be used (within 0 and 100 inclusive)
num : int
number of data points.
C : float
parameter C, should be 0, 0.5 or 1. Numpy uses 1, matlab 0.5, H&F is 0.
"""
p = np.asarray(p)
fact = (num+1.-2*C)/(num-1)
p *= fact
p -= 0.5 * (fact-1) * 100
p[p < 0] = 0
p[p > 100] = 100
return p
plt.figure()
plt.plot(np.percentile([0, 1, 2, 3], scale_percentiles(np.linspace(0, 100, 101), 5, C=0), interpolation='nearest'))
plt.plot(np.percentile([0, 1, 2, 3], scale_percentiles(np.linspace(0, 100, 101), 5, C=1), interpolation='nearest'))
plt.figure()
plt.plot(np.percentile([15, 20, 35, 40, 50], scale_percentiles(np.linspace(0, 100, 101), 5, C=1), interpolation='linear'))
plt.plot(np.percentile([15, 20, 35, 40, 50], scale_percentiles(np.linspace(0, 100, 101), 5, C=0.5), interpolation='linear'))
plt.plot(np.percentile([15, 20, 35, 40, 50], scale_percentiles(np.linspace(0, 100, 101), 5, C=0), interpolation='linear'))
@seberg рдХрд░реАрдм рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рд╡рд╣рд╛рдБ рдирд╣реАрдВред a = [0,1,2,3]
рдФрд░ percentiles = [25, 50, 75, 100]
, np.percentile (a, scale_percentiles(percentiles, len(a), C=0), interpolation='nearest)
[0, 2, 3, 3]
, рдЬрдм рдЗрд╕реЗ [0,1,2,3]
рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рд╕реВрдЪреА рдХреЛ dtype=np.float
рдпрд╛ рдЖрдкрдХрд╛ рдХрд╛рд░реНрдп рддреНрд░реБрдЯрд┐ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рд╣реИред
рд╢рд╛рд╕реНрддреНрд░реАрдп рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рд╕рд░рд▓ рд╣реИ:
рдкреНрд░рддрд┐рд╢рдд / 100 * N -> рдпрджрд┐ рдпрд╣ рдкреВрд░реА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬреЛ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реИ, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЫрдд рдХреЛ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╕реА рддрд░реНрдХ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рд▓реЛрдЧ рдЗрд╕реЗ рдкреНрд░рдХреНрд╖реЗрдк рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдореИрдВ рдЕрднреА рднреА рдПрдХ рд╡рд┐рдзрд┐ = 'рдХреНрд▓рд╛рд╕рд┐рдХ' рдпрд╛ рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди = 'рдХреЛрдИ рдирд╣реАрдВ' рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рдХрд┐ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдореЗрд░реА рдЧреИрд░-рд╢рд╛рд╕реНрддреНрд░реАрдп рд╡рд┐рдзрд┐ рдХрд╛ рдЧреИрд░-рдЦрд╕реНрддрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ:
def percentile (arr, p):
arr = sorted(arr)
index = p /100 * len(arr)
# If index is a whole number, and larger than zero, subtract one unit (due to 0-based indexing)
if index%1 < 0.0001 and index//1 > 0:
index -= 1
return arr[int(index)]
рдФрд░ рдПрдХ рдЕрдзрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдХ:
def indexes_classic(percentiles, set_size):
percentiles = np.asarray(percentiles)
indexes = percentiles / 100* set_size
indexes[np.isclose(indexes%1, 0)] -= 1
indexes = np.asarray(indexes, dtype=np.int)
indexes[indexes < 0] = 0
indexes[indexes > 100] = 100
return indexes
рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ / рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рдЗрд╢реНрдпреВрдЬрд╝ (рдЬреЛ рдЖрдк рд╣реИрдВ, рдЬреИрд╕реЗ рд╡реЗ рдЕрдВрддрд░ рдзреНрд╡рдирд┐ рдХрд░рддреЗ рд╣реИрдВ
рдкрддрд╛ рд▓рдЧрддрд╛ рд╣реИ), рдФрд░ рд╢рд╛рдпрдж C = 0 рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рдЧрд▓рдд рдерд╛ рдФрд░ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рд╕реА = 0.5ред
рдореЗрд░рд╛ рдХрд╣рдирд╛ рдпрд╣ рдерд╛ рдХрд┐ рдЕрдВрддрд░ рдХрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИ ("рд╕реА рдкреИрд░рд╛рдореАрдЯрд░"
рдЖрдИрдПрдордУ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрдИ рдХреЛ рдирд╛рдкрд╕рдВрдж рдХрд░рдиреЗ рдХреЗ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рд╣реИрдВ
рд╕рдВрдпреЛрдЬрди)ред рдпрд╣ рдЖрдкрдХреЛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рджреЗрдиреЗ / рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдерд╛ред
"рд╢рд╛рд╕реНрддреНрд░реАрдп" рдкрджреНрдзрддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рдмрд╛рдд рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╢рд╛рд╕реНрддреНрд░реАрдп рдХреНрдпрд╛ рд╣реИ
рдРрд╕рд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рд╕реНрддреНрд░реАрдп рдХрд╛ рдЕрд░реНрде рд╣реИ "рдХрд╛рдлреА рдХреБрдЫ
рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ тАЭред
рд╕рдорд╛рдзрд╛рди рд╡рд╛рд░, рдореЗрд░реА рдкрд╣рд▓реА рдзрд╛рд░рдгрд╛ рдпрд╣ рд╣реИ рдХрд┐ "рд╢рд╛рд╕реНрддреНрд░реАрдп" рдпрд╛ рдЬреЛ рднреА рд╣реЛ
рдирд╛рдо, рдХреЗрд╡рд▓ рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рднреНрд░рд╛рдордХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ
рдпрд╣ рдЪрд░реНрдЪрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рднреА рдмрдирд╛рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдЬрд╛ рд╕рдХрддреА рд╣реИ
рд╕реНрд╡рдЪреНрдЫ рдФрд░ рдкрд╛рд░рджрд░реНрд╢реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреЗ (рдЖрдо) рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рд╣реИрдВ
рдорд╛рд░реНрдЧред рдПрдХ рддрд░рд╣ рд╕реЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдЬрд┐рд╕реЗ рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рдПрдХ рдФрд░ рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЖрдзрд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред рдЬрдм рд╣рдо
рдкрд┐рдЫрд▓реЗ рдФрд░ рддрд░реАрдХреЗ рдЬреЛрдбрд╝реЗ (рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдмрджрд▓рд╛ рд╣реИ) I
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЗрд░реА рд╣реЛ рдЧрдИ рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдХреВрдж рдЬрд╛рдПрдЧрд╛ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рд╣реБрдЖред рдФрд░ рдЕрдм
рдореИрдВ рдорддрднреЗрджреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдлрд┐рдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдореЗрд░реА рдзрд╛рд░рдгрд╛ рдЧреЛрд▓ рдФрд░ рд╕рдЯреАрдХ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╣реИ
рдкреНрд░рддрд┐рд╢рддрдХ рдореИрдЪ) рд╣рдорд╛рд░реЗ рдкрд╛рд╕ (рд╢рд╛рдпрдж рдмрд╣реБрдд) рдХрдИ "рдкреНрд░рдХреНрд╖реЗрдк" рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ
рдФрд░ "рд╕реА рдкреИрд░рд╛рдореАрдЯрд░" рдпрд╛ рдЬреЛ рднреА рдЖрдк рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред
рдФрд░ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдХреЛрдИ рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдХреИрд╕реЗ
(рд╕рд╛рдорд╛рдиреНрдп) "рд╡рд┐рдзрд┐рдпрд╛рдБ" рдЙрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдЖрддреА рд╣реИрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ
рдФрд░ рдлрд┐рд░ C = 0,0.5,1 рднреА рдореМрдЬреВрдж рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рдХреБрдЫ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд╛рд╣рд░ рднреА
рд╡рд┐рдХрд▓реНрдк ....
рд╢рд╛рдпрдж рдореИрдВ рдЧрд▓рдд рд▓реЗрди рдкрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди "рдореЗрдердб 1" рдХреЛ рдЬреЛрдбрд╝рдХрд░
рдЕрд╕реНрдкрд╖реНрдЯ рдирд╛рдо рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рдХреЛ рдирд╣реАрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИ
рдЕрдиреНрдп рд╡рд┐рдзрд┐рдпрд╛рдБ рдореБрдЭреЗ рдорджрджрдЧрд╛рд░ рдирд╣реАрдВ рд▓рдЧрддреАрдВ (рдХрд┐рд╕реА рдХреЛ рдЫреЛрдбрд╝рдХрд░)
"Method1" рдирд╛рдо рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдвреВрдВрдв рд░рд╣рд╛ рд╣реИред рддрдерд╛
рдХреГрдкрдпрд╛ рдпрд╣ рдордд рдХрд╣реЛ рдХрд┐ "рдХреНрд▓рд╛рд╕рд┐рдХ" рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╡рд╣рд╛рдБ рд╣реИ
рд╡реИрд╕реЗ рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рд┐рдЪрд░рдгред
рдПрдХ рдФрд░ рддрд░реАрдХрд╛ "рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди" рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реВрдЪреА рд╣реЛрдирд╛
рддрд░реАрдХреЛрдВ рдХреА рднреА рдмрд╣реБрдд рдХрдо рдЕрдЪреНрдЫрд╛ рд╣реИ рддреЛ "рд░реИрдЦрд┐рдХ рдкреНрд░рдХреНрд╖реЗрдк" рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛
рдпрд╣ рдХрд╣рдирд╛ рдХрд┐ рдпрд╣ рдПрдХ рд╕реМрддреЗрд▓рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИ, рдЖрджрд┐ .... рдФрд░ рдЕрдЧрд░ рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЬрд╛рддреЗ рд╣реИрдВ,
рдореИрдВ рдЕрдм рднреА рдПрдХ рдЙрдЪрд┐рдд рдЕрд╡рд▓реЛрдХрди рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдПрдХ рдирдИ рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬреЛ рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИ!
рдореБрдЭреЗ рдЗрд╕реЗ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдиреЗ рджреЗрдВ:
1) рдЕрднреА рд╕реБрдиреНрди рдХреЗрд╡рд▓ рдПрдХ рдЙрдкрдпреЛрдЧреА рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдкреНрд░рдХреНрд╖реЗрдк = 'рд░реИрдЦрд┐рдХ', рдФрд░ рдЕрдиреНрдп рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдХреЗрд╡рд▓ рдЫреЛрдЯреЗ рдмрджрд▓рд╛рд╡ рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдХрдИ рдФрд░ рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред
2) C = 0 рдпрд╛ C = 0.5 рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдорд╛рди рдЬреЛрдбрд╝рдирд╛, рдореЗрд░реЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рд╕рднреА рдкреНрд░рдХреНрд╖реЗрдк рд╡рд┐рдзрд┐рдпрд╛рдВ рдЙрдирдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдлрд┐рд░ рд╕реЗ рд╡реЗ рд╢рд╛рдпрдж рдХрднреА рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирд╣реАрдВ рд╣реИрдВред
3) рдпрджрд┐ рдкреНрд░рдХреНрд╖реЗрдк рд╡рд┐рдзрд┐ рдФрд░ рд╕реА рддрд░реНрдХ рдХреЗ рдмреАрдЪ рдХреЙрдореНрдмреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ, рд╢рд╛рд╕реНрддреНрд░реАрдп рд╡рд┐рдзрд┐ (рд╕рдВрджрд░реНрдн рдФрд░ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдФрд░ рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рд╕реЗ рд╕рд╣рдордд рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрдврд╝рд╛рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рддрд░реАрдХрд╛ рд╣реИ) рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕рд╕реЗ рдЦреБрд╢ рд╣реВрдВред рдбреЙрдХреНрд╕ рдореЗрдВ рдпрд╣ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЙрдореНрдмреЛ рд╢рд╛рд╕реНрддреНрд░реАрдп рдЧреИрд░-рдкреНрд░рдХреНрд╖реЗрдк рд╡рд┐рдзрд┐ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдлреНрд▓реЛрдЯ рд╕рдЯреАрдХ рдореБрджреНрджреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдЕрдзрд┐рдХ рдПрдХреАрдХреГрдд рддрд░реАрдХреЗ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдЖрдкрдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ!
4) рдЕрдЧрд░ рдХреЙрдореНрдмреЛ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдзрд┐ рд╕рдордЭ рдореЗрдВ рдЖрдПрдЧреАред рд╕рдВрднрд╡рддрдГ рдкреНрд░рдХреНрд╖реЗрдк рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ = 'рдХреЛрдИ рдирд╣реАрдВ' рдХрдо рднреНрд░рд╛рдордХ рд╣реЛрдЧрд╛ред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: numpy.percentile рдХреЗ рд╡рд░реНрддрдорд╛рди рд╡рд┐рдХрд▓реНрдк рджреЛрдиреЛрдВ рднреНрд░рд╛рдордХ рдФрд░ рд╕реАрдорд┐рдд рд╣реИрдВред рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд╛рдЧрдЬ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рддрд░реАрдХреЛрдВ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрд╡рд▓реЛрдХрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░, рд╡реЗ numpy.percentile рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдФрд░ рдЙрдкрдпреЛрдЧреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред
рдХреНрдпрд╛ рд╡рд░реНрддрдорд╛рди "рдирд┐рдХрдЯрддрдо" рдХреБрдЫ / рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ? рдпрджрд┐ рд░рд┐рдХреНрддрд┐ рд╡рд┐рдзрд┐ ("C") рдпрд╛ рдЬреЛ рднреА рд░реИрдЦрд┐рдХ рдкреНрд░рдХреНрд╖реЗрдк / рднрд┐рдиреНрдирд╛рддреНрдордХ рд╕рд╛рдорд╛рди рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рд╢рд╛рдпрдж рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдХрднреА рднреА рдЧреИрд░-рднрд┐рдиреНрдирд╛рддреНрдордХ рд╕рдиреНрдирд┐рдХрдЯрди рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ ?! рдХреНрдпрд╛ рдирд┐рд░рдВрддрд░ рд╕рдорд░реНрдерди рд╕рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдФрд░ рдкреНрд░рдХреНрд╖реЗрдк рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рд╕реАрдбреАрдПрдл рд╡реНрдпреБрддреНрдХреНрд░рдо рддрд░реНрдХ рдХреЛ рдбрдВрдк рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдХрд╛рд░рдг рд╣реИ?
рдХреЙрдореНрдмреЛ рдмреЗрдХрд╛рд░ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИред рдкреНрд░рдХреНрд╖реЗрдк рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рдореМрдЬреВрдж рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП http://mathworld.wolfram.com/Quantile.html Q4 рд╕реЗ Q9, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ R рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП matlab ...) рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдирд╣реАрдВ рд╣реИ рдЕрдЧрд░ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рднреА рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ;)ред
рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ "рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рдХреНрд╖реЗрдк" рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди "рд░реИрдЦрд┐рдХ рдкреНрд░рдХреНрд╖реЗрдк" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХрдо рд╕реЗ рдХрдо рдЙрди рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд░рдЦрдиреЗ рдХреЗ рдХрдИ (рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ) рддрд░реАрдХреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд░рд╛рдм рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдЖрдк рдПрдХ "рдирд┐рдХрдЯрддрдо-рд░реИрдВрдХ" рдЪрд╛рд╣рддреЗ рдереЗ рдЬреЛ рдмрд╣реБрдд рд▓рдЧрддрд╛ рд╣реИ (рдФрд░ рдЖрддреНрдорд╛ рдореЗрдВ рд╣реИ) рдкреНрд░рдХреНрд╖реЗрдк = "рдирд┐рдХрдЯрддрдо", рд▓реЗрдХрд┐рди рд╕рдЯреАрдХ "рд╕рд╛рдЬрд┐рд╢ рдХреА рд╕реНрдерд┐рддрд┐" рдХрд╛ рд╡рд┐рдХрд▓реНрдк "рдЧреИрд░-рдорд╛рдирдХ" рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдПрдХ рдЧрд░реАрдм рд╡рд┐рдХрд▓реНрдкред
рддрдм рдореИрдВ рднреА рдПрдЧреНрд░реЗрд╕рд┐рд╡рд▓реА рд╕рдм рдХреБрдЫ (рд╢рд╛рдпрдж рд░реЗрдЦреАрдп рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред
рд▓реЗрдХрд┐рди, рдЕрдЧрд░ рд╣рдо рд╡рд┐рд░реЛрдз рдХрд░рддреЗ рд╣реИ, рдореИрдВ рдпрд╣ 100% рд╕рд╣реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдХрд╣рд╛ рдХрд┐ рдХреНрдпрд╛ рдореМрдЬреВрдж рд╣реИ рдХреЗ рд░реВрдк рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреА рдЬрд░реВрд░рдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреНрдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ рдЖрдкрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдВ
@ ricardoV94 : рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ # 9211 рдкрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рднрд╛рд░рд┐рдд рдорд╛рддреНрд░рд╛рддреНрдордХ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП linear
рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдкрд░ рдХреЛрдИ рд░рд╛рдп рд╣реИ? рд╡рд╣рд╛рдБ рдХреБрдЫ рд░реЗрдЦрд╛рдВрдХрди рдЙрд╕реА рд╢реИрд▓реА рдореЗрдВ рд╣реИрдВред
рд╢рд╛рдпрдж @ ricardoV94 рдЗрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛), рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдмрд╣реБрдд рдУрд░реНрдереЛрдЧреЛрдирд▓ рд╣реИред рд╡реЗрдЯреНрд╕ рд╢рд╛рдпрдж рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдЯрд╛рдЗрдк рд╡реЗрдЯ рд╣реИрдВ, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдкрд░реНрд╕реЗрдВрдЯрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╡рдЬрд╝рди рдирд╣реАрдВ рд╣реИрдВ (рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреИрд╕реЗ), рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЖрдк рдЙрд╕ PR рдкрд░ josef-pkt рдХреЛ рдкрд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЯрд┐рдкреНрдкрдгреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрдиреНрд╣реЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ / рд╕рд╣реА рд╣реИред
рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕реЗ рдпрд╣рд╛рдБ рд╕реЗ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдореИрдВрдиреЗ рдПрдХ рдЧреИрд░-рдЕрдиреБрдХреВрд▓рд┐рдд рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ
Hyndman рдФрд░ Fan (1996) рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд 9 рдкреНрд░рддрд┐рд╢рдд / рдорд╛рддреНрд░рд╛рддреНрдордХ рдЖрдХрд▓рди рд╡рд┐рдзрд┐рдпрд╛рдВ рдФрд░ рдЖрд░ рдореЗрдВ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рд╡рд┐рдзрд┐ 1 рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ 'рд╢рд╛рд╕реНрддреНрд░реАрдп рдирд┐рдХрдЯрддрдо рд░реИрдВрдХ рд╡рд┐рдзрд┐' рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рд╡рд┐рдзрд┐ 7 рд╡рд░реНрддрдорд╛рди Numpy рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдкреНрд░рдХреНрд╖реЗрдк = 'рд░реИрдЦрд┐рдХ') рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред Numpy рдкреНрд░рдХреНрд╖реЗрдк рдХреЗ рд╢реЗрд╖ рддрд░реАрдХреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдФрд░ рд╡реЗ рд╡реИрд╕реЗ рднреА рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд▓рдЧрддреЗ рд╣реИрдВ)ред
def percentile(x, p, method=7):
'''
Compute the qth percentile of the data.
Returns the qth percentile(s) of the array elements.
Parameters
----------
x : array_like
Input array or object that can be converted to an array.
p : float in range of [0,100] (or sequence of floats)
Percentile to compute, which must be between 0 and 100 inclusive.
method : integer in range of [1,9]
This optional parameter specifies one of the nine sampling methods
discussed in Hyndman and Fan (1996).
Methods 1 to 3 are discontinuous:
* Method 1: Inverse of empirical distribution function (oldest
and most studied method).
* Method 2: Similar to type 1 but with averaging at discontinuities.
* Method 3: SAS definition: nearest even order statistic.
Methods 4 to 9 are continuous and equivalent to a linear interpolation
between the points (pk,xk) where xk is the kth order statistic.
Specific expressions for pk are given below:
* Method 4: pk=kn. Linear interpolation of the empirical cdf.
* Method 5: pk=(kтИТ0.5)/n. Piecewise linear function where the knots
are the values midway through the steps of the empirical cdf
(Popular amongst hydrologists, used by Mathematica?).
* Method 6: pk=k/(n+1), thus pk=E[F(xk)]. The sample space is divided
in n+1 regions, each with probability of 1/(n+1) on average
(Used by Minitab and SPSS).
* Method 7: pk=(kтИТ1)/(nтИТ1), thus pk=mode[F(xk)]. The sample space
is divided into n-1 regions (This is the default method of
Numpy, R, S, and MS Excell).
* Method 8: pk=(kтИТ1/3)/(n+1/3), thus pkтЙИmedian[F(xk)]. The resulting
estimates are approximately median-unbiased regardless of the
distribution of x (Recommended by Hyndman and Fan (1996)).
* Method 9: k=(kтИТ3/8)/(n+1/4), thus pkтЙИF[E(xk)]if x is normal (?).
The resulting estimates are approximately unbiased for the expected
order statistics if x is normally distributed (Used for normal QQ plots).
References:
Hyndman, R. J. and Fan, Y. (1996) Sample quantiles in statistical packages,
American Statistician 50, 361--365.
Schoonjans, F., De Bacquer, D., & Schmid, P. (2011). Estimation of population
percentiles. Epidemiology (Cambridge, Mass.), 22(5), 750.
'''
method = method-1
x = np.asarray(x)
x.sort()
p = np.array(p)/100
n = x.size
m = [0, 0, -0.5, 0, 0.5, p, 1-p, (p+1)/3, p/4+3/8][method]
npm = n*p+m
j = np.floor(npm).astype(np.int)
g = npm-j
# Discontinuous functions
if method < 3:
yg0 = [0, 0.5, 0][method]
y = np.ones(p.size)
if method < 2:
y[g==0] = yg0
else:
y[(g==0) & (j%2 == 0)] = yg0
# Continuous functions
else:
y = g
# Adjust indexes to work with Python
j_ = j.copy()
j[j<=0] = 1
j[j > n] = n
j_[j_ < 0] = 0
j_[j_ >= n] = n-1
return (1-y)* x[j-1] + y*x[j_]
рдирд┐рд░рдВрддрд░ рддрд░реАрдХреЛрдВ рдХреЛ рднреА рдЗрд╕ рддрд░рд╣ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
def percentile_continuous(x, p, method=7):
'''
Compute the qth percentile of the data.
Returns the qth percentile(s) of the array elements.
Parameters
----------
x : array_like
Input array or object that can be converted to an array.
p : float in range of [0,100] (or sequence of floats)
Percentile to compute, which must be between 0 and 100 inclusive.
method : integer in range of [4,9]
This optional parameter specifies one of the 5 continuous sampling
methods discussed in Hyndman and Fan (1996).
'''
x = np.asarray(x)
x.sort()
p = np.asarray(p)/100
n = x.size
if method == 4:
r = p * n
elif method == 5:
r = p * n + .5
elif method == 6:
r = p * (n+1)
elif method == 7:
r = p * (n-1) + 1
elif method == 8:
r = p * (n+1/3) + 1/3
elif method == 9:
r = p * (n+1/4) + 3/8
index = np.floor(r).astype(np.int)
# Adjust indexes to work with Python
index_ = index.copy()
index[index_ <= 0] = 1
index[index_ > n] = n
index_[index_ < 0] = 0
index_[index_ >= n] = n-1
i = x[index - 1]
j = x[index_]
return i + r%1* (j-i)
рдХреЛрдИ рдЗрд╕реЗ рдпрд╣рд╛рдБ рд╕реЗ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ? рдореИрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реВрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рддреНрд░рд╛ рдХреЗ рд╡рд░реНрддрдорд╛рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ R
ред
R
:
> quantile(c(15, 20, 35, 40, 50), probs=c(0.05, 0.3, 0.4, 0.5, 1))
5% 30% 40% 50% 100%
16 23 29 35 50
> quantile(c(3, 6, 7, 8, 8, 10, 13, 15, 16, 20), probs=c(0.25, 0.5, 0.75, 1))
25% 50% 75% 100%
7.25 9.00 14.50 20.00
> quantile(c(3, 6, 7, 8, 8, 9, 10, 13, 15, 16, 20), probs=c(0.25, 0.5, 0.75, 1))
25% 50% 75% 100%
7.5 9.0 14.0 20.0
np.quantile
:
>>> np.quantile([15, 20, 35, 40, 50], q=[0.05, 0.3, 0.4, 0.5, 1])
array([16., 23., 29., 35., 50.])
>>> np.quantile([3, 6, 7, 8, 8, 10, 13, 15, 16, 20], q=[0.25, 0.5, 0.75, 1])
array([ 7.25, 9. , 14.5 , 20. ])
>>> np.quantile([3, 6, 7, 8, 8, 9, 10, 13, 15, 16, 20], q=[0.25, 0.5, 0.75, 1])
array([ 7.5, 9. , 14. , 20. ])
рдмреЗрд╢рдХ рдЬреЛ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдореЗрдВ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:
https://en.wikipedia.org/wiki/Percentile
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдЖрдк quantile https://www.rdocumentation.org/packages/stats/versions/3.5.0/topics/quantile рдХреЗ рд▓рд┐рдП R рдорджрдж рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ
рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ R рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдзрд┐ (рдЯрд╛рдЗрдк 7) рд╕реАрдорд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рдорд╛рди рд╕реЗрдЯ рдХрд░рддреА рд╣реИ рдХрд┐ np.quantile
рдЗрд╕реЗ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВ: p_k = (k-1) / (n-1)
, рдЬрд╣рд╛рдВ n рдирдореВрдирд╛ рдЖрдХрд╛рд░ рд╣реИ, рдФрд░ k = 1 рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдорд╛рди, рдЬрдмрдХрд┐ k = n рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕реЙрд░реНрдЯ рдХрд┐рдП рдЧрдП рдРрд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдорд╛рди рдХреНрд╡рд╛рдВрдЯрд╛рдЗрд▓ = 0 рдкрд░ рдкрд┐рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдХреНрд╡рд╛рдВрдЯрд╛рдЗрд▓ = 1 рдкрд░ рдкрд┐рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдореЗрдВ рдЯрд╛рдЗрдк 1 рдХреЗ рд╕рд╛рде 3 рдЙрджрд╛рд╣рд░рдг рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
> quantile(c(15, 20, 35, 40, 50), probs=c(0.05, 0.3, 0.4, 0.5, 1), type=1)
5% 30% 40% 50% 100%
15 20 20 35 50
> quantile(c(3, 6, 7, 8, 8, 10, 13, 15, 16, 20), probs=c(0.25, 0.5, 0.75, 1), type=1)
25% 50% 75% 100%
7 8 15 20
> quantile(c(3, 6, 7, 8, 8, 9, 10, 13, 15, 16, 20), probs=c(0.25, 0.5, 0.75, 1), type=1)
25% 50% 75% 100%
7 9 15 20
рдпрд╣ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╡рд╛рд▓ рдЙрдард╛рддрд╛ рд╣реИ:
1.) n.p.quantile рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреНрд░реИрдХ R.quantile рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреНрд░реИрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
2.) рдЯрд╛рдЗрдк 1 рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд▓рд┐рдП np.quantile рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдЪреВрдВрдХрд┐ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реНрд╡рдпрдВ рднреА рд╕рд╣рдордд рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рд╢рддрддрд╛ рдХреА рдХреЛрдИ рдорд╛рдирдХ рдкрд░рд┐рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рддрдХ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдзреНрд╡рдирд┐ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рди рддреЛ (1) рдпрд╛ (2) рдЙрддрдирд╛ рд╣реА рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдореИрдВ (1) рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рдпрдерди рдФрд░ рдЖрд░ рджреЛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдбреЗрдЯрд╛ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИрдВ, рдФрд░ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╡реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рд╡реАрдЯреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ (2) рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИред
рд╣рд╛рдВ, R рдФрд░ Numpy рджреЛрдиреЛрдВ 7 рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЙрд╕реА рддрд░рд╣ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд╡рд╛рд▓ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдореИрдВ 9 рдкреНрд░рддрд┐рд╢рдд рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдореЙрдбреНрдпреВрд▓ рд░рдЦрддрд╛ рд╣реВрдВ, рдпрд╣рд╛рдВ ред рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ Numpy рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред
рд╕рд╛рднрд╛рд░ @ ricardoV94
рддреЛ, рд╕рд┐рд░реНрдл рдХрд┐рдХ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЖрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдкрд░ рдХрд╛рдо рдкрд░ рдПрдХ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдЬрд┐рди 20 рд▓реЛрдЧреЛрдВ рдиреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреА, рдЙрдирдореЗрдВ рд╕реЗ 20 quantile
рдореЗрдВ рдХреЗрд╡рд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдореЗрдВ рдорд╛рд╕реНрдЯрд░реНрд╕ рдХреЗ рдЫрд╛рддреНрд░реЛрдВ рдХреЛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рдореЗрдВ рдкреАрдПрдЪрдбреА рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рд▓реЗрдХрд░ рд╣реИрдВред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рддреНрд░рд╛рддреНрдордХ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 9 рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдиреНрди рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬреЛ рдореВрд▓реНрдп рд╣реИ рд╡рд╣ scipy.stats.mstats.mquantiles рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ 9 рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ 6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдирд┐рд░рдВрддрд░ рд╡рд╛рд▓реЗ) рдФрд░
@albertcthomas рдЖрд╣, рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╣рдо рдЗрд╕ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рдЦрд╛рдорд┐рдпреЛрдВ рдореЗрдВ рдЫрд┐рдкрд╛рдПрдВрдЧреЗред рдФрд░ рд╣рдореЗрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдЧреИрд░-рд╕рдиреНрдирд┐рд╣рд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ IIRC рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред
рд╣рд╛рдБ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЦрд╕реНрддрд╛ рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рдЗрди рддрд░реАрдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ рдпрджрд┐ рд╡реЗ рд╕реНрдХрд┐рдкреА рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВ рд╕рдВрдЪрдпреА рд╡рд┐рддрд░рдг рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╡реНрдпреБрддреНрдХреНрд░рдо рд╕реЗ рдХреНрд╡рд╛рдВрдЯрд╛рдЗрд▓ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реЛрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд┐рдзрд┐ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдиреЗрддреГрддреНрд╡ :)ред
@albertcthomas рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕рдВрдХреЗрдд / рдЬреНрдЮрд╛рди рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдХрд╣реЗрдВ! рд╣рдо рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдереЛрдбрд╝рд╛ рдлрдВрд╕ рдЧрдП рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрдпрд╛ рд╣реИред рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБрдд рдХрд╖реНрдЯрдкреНрд░рдж рдореБрджреНрджрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╣рдореЗрдВ рдХреБрдЫ рдЕрдЪреНрдЫреЗ рдбрд┐рдлреЙрд▓реНрдЯ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ 2-3 рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ (рдЧреИрд░-рд╕рдиреНрдирд┐рд╣рд┐рдд рд▓реЛрдЧреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрдзрд╛рд░рдирд╛)ред рдореИрдВ рдЕрдзрд┐рдХ рдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕рд╛рдорд╛рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдХреБрдЫ "рд╡рд┐рд╢рд┐рд╖реНрдЯ / рдЕрдЪреНрдЫреЗ" рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХреЗрдВред
рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд▓реАрдирд┐рдпрд░ рдореЗрдердб (рдХрд░рдВрдЯ рдбрд┐рдлреЙрд▓реНрдЯ) рдФрд░ рдХрдореНрдпреБрд▓реЗрдЯрд┐рд╡ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрд▓рдЯрд╛ (рдЬреЛ рдореИрдВ рдЗрд╕ рдЗрд╢реНрдпреВ рдХреЛ @albertcthomas рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ
рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдВрдЪрдпреА рд╡рд┐рддрд░рдг рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡реНрдпреБрддреНрдХреНрд░рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЖрдБрдХрдбрд╝реЛрдВ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рджрд┐рдП рдЧрдП рдирдореВрдиреЗ рд╕реЗ рдПрдХ рдорд╛рддреНрд░рд╛рддреНрдордХ рдХреЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЕрдиреБрдорд╛рдирдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред
рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
@ ricardoV94 рдЖрдк рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдореЗрдВ рдХрд┐рд╕реА рднреА рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рди рд╣реА рд╣рдпрдВрдбрдореИрди рдПрдВрдб рдлреИрди рдХреЗ рдкреЗрдкрд░ рдХреЛ?
рд╣рд╛рдВ, рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдХреЛрдИ рднреА рдЙрди рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛, рдФрд░ рдЙрдирдХреЗ рдирд╛рдо рд╣реИрдВ
рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рднреНрд░рд╛рдордХ рднреАред
рдЕрд▓реНрдмрд░реНрдЯ рдереЙрдорд╕ рд╕реВрдЪрдирд╛рдПрдВ @github.com escreveu no dia quarta, 2/01/2019
├а (s) 14:18:
рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд╛рдЧреВ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП
рд╣рдЯрд╛ рджрд┐рдпрд╛ред@ ricardoV94 https://github.com/ricardoV94 рдХреНрдпрд╛ рдЖрдк рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд╣ рд░рд╣реЗ рд╣реИрдВ
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдореЗрдВ рдХреЛрдИ рднреА рд╡рд┐рдХрд▓реНрдк рд╕рдВрджрд░реНрднрд┐рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рди рд╣реА Hyndman рдФрд░
рдлреИрди рдХрд╛ рдкреЗрдкрд░?-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/numpy/numpy/issues/10736#issuecomment-450861068 , рдпрд╛ рдореНрдпреВрдЯ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AbpAmfUoJNk3YHOSHNeVN03Va5wtvkHQks5u_LGugaJpZM4SnVpE
ред
рдзрдиреНрдпрд╡рд╛рдж! Np.percentile рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╡рд┐рдзрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЪрдпреА рд╡рд┐рддрд░рдг рдХреЗ рд╡реНрдпреБрддреНрдХреНрд░рдо рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП PR рдХреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЦреЛрд▓реЗрдВ? рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреЛрд▓рддреЗ рд╕рдордп рдпрджрд┐ рд╣рдо рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рд╡рд░реНрддрдорд╛рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП)ред рдХреИрд╕реЗ рдЦрд╕реНрддрд╛рд╣рд╛рд▓ рд╕рдВрднрд╛рд▓рд╛ рд╣реИ?
рдпрд╣рд╛рдБ рдХреБрдЫ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА - рдкрд╛рдпрдерди 3.8 рдиреЗ statistics.quantiles
рдЬреЛрдбрд╝рд╛ - рд╣рдореЗрдВ np.quantile
рд╕рдорддреБрд▓реНрдп рдореЛрдб рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣рд╛рдБ рдЖрдЧреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╢рд╛рдпрдж method
kwarg рдХрд╛ рд╣реИ, рдЬреЛ statistics
рдПрдХ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдФрд░ 0-2 рдФрд░ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдореВрд▓ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдЕрдЬрдЧрд░ рдкрд░ рдкрд┐рдВрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ ред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЪреВрдХ рд╣рдорд╛рд░реЗ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдЬреЛ рдХрд┐ рдЕрдЧрд░ рд╡реЗ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ (рдФрд░ рд╡реИрд╕реЗ рднреА рдЬреЛ рд╣рдорд╛рд░реЗ рдорди рдореЗрдВ рдерд╛)ред рд╕рд╛рде рд╣реА рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП 0-2 рдирдП "рддрд░реАрдХреЗ" рдареАрдХ рд╣реЛрдВрдЧреЗред рдХрд┐рд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдЬрдЧрд░ рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд╛рдореЛрдВ рдкрд░ рдкрд┐рдВрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ ...
рдкреАрдЖрд░рдПрд╕ рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рдХрд░рддреЗ рд╣реИрдВ, рдореИрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЖрдЧреЗ рдмрдврд╝реЗ, рд▓реЗрдХрд┐рди рдореИрдВ рддрддреНрдХрд╛рд▓ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред
@ eric-wieser рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдВрдмрдВрдзрд┐рдд рдкреАрдЖрд░ рдХреЗ рдХреБрдЫ рдЬреЛрдбрд╝реЗ рдмрдХрд╛рдпрд╛ рд╣реИрдВ, рдХреНрдпрд╛ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрддрд╛ рд╣реИ?
рдореИрдВ рдЗрд╕реЗ 1.19 рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрд╡рд░реЛрдзрдХ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ 1.18 рдХреЗ рд▓рд┐рдП рддрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ :)
@charris : рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреМрди рд╕реЗ
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢ рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдЕрднреА рддрдХ рдХреЛрдИ рдмрд╛рдд рд╣реБрдИ рд╣реИред