рдкрдВрдбреЛрдВ рдореЗрдВ рд╕рдореВрд╣рдмрджреНрдз рдПрдХрддреНрд░реАрдХрд░рдг



рдПрдХрддреНрд░реАрдХрд░рдг рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рд╕рдмрд╕реЗ рдЖрдо рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рд╣рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╕рдореВрд╣ рдмрдирд╛рдиреЗ рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмреНрдпрд╛рдЬ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ (рдХреЙрд▓рдо, рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ)ред рдпрд╣ рд▓реЗрдЦ рдкрд╛рдВрдбрд╛ рдореЗрдВ рдПрдХрддреНрд░реАрдХрд░рдг рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдЧрд╛ред
рдореЗрд░реА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдореЗрдВ, рдореИрдВ рдЕрдЬрдЧрд░ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХрдо рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдХреНрд╕рд░ рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╢рдХреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирддрд╛ рд╣реВрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдпрд╣ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдпрд╣рд╛рдВ рдЯреА-рдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рдирд╛рдВрддрд░ рдСрдкрд░реЗрд╢рди рдХрд░реВрдВрдЧрд╛ рдФрд░ рдХреБрдЫ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ - рдЗрд░рд╛рдЗрдЬ рдлрд┐рд╢рд░ ред

рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреА рд╣реИ, рд╡рд╣ рдЗрд╕ рдкреМрдзреЗ рдХреА рдкреНрд░рдЬрд╛рддрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рднреА рдЖрдИрд░рд┐рд╕ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо, рдиреНрдпреВрдирддрдо рдпрд╛ рдФрд╕рдд рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдкрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдЬрдЧрд░ рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

import pandas as pd

df = pd.read_csv('iris.csv', delimiter = ',')
print(df.groupby('variety').max()[['sepalLength']].to_markdown())

рдкрд░рд┐рдгрд╛рдо:

| рд╡рд┐рд╡рд┐рдзрддрд╛ | sepal.length |
|: ----------- | ---------------: |
| рд╕реЗрдЯреЛрд╕рд╛ | 5.8 |
| рд╡рд░реНрд╕рд┐рдХрд▓рд░ | 7 |
| рд╡рд░реНрдЬрд┐рдирд┐рдХрд╛ | 7.9 |

рдпрд╛ рдРрд╕рд╛:

import pandas as pd
df = pd.read_csv('iris.csv', delimiter = ',')

print(df.groupby('variety').sepalLength.agg(
    maxSepalLength  = 'max',
    minSepalLength  = 'min',
    ).to_markdown())

рдкрд░рд┐рдгрд╛рдо:

| рд╡рд┐рд╡рд┐рдзрддрд╛ | maxSepalLength | minSepalLength |
|: ----------- | -----------------: - ----------------- : |
| рд╕реЗрдЯреЛрд╕рд╛ | 5.8 | 4.3 |
| рд╡рд░реНрд╕рд┐рдХрд▓рд░ | 7 | 4.9 |
| рд╡рд░реНрдЬрд┐рдирд┐рдХрд╛ | 7.9 | 4.9 |

рдпрд╛ рд▓рдВрдмреЛрджрд░ рднрд╛рд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

import pandas as pd
df = pd.read_csv('iris.csv', delimiter = ',')

print(df.groupby('variety').sepalLength.agg([
    lambda x: x.max(), 
    lambda x: x.min()
    ]).to_markdown())

рдкрд░рд┐рдгрд╛рдо:

| рд╡рд┐рд╡рд┐рдзрддрд╛ | <lambda_0> | <lambda_1> |
|: ----------- | -------------: | -------------: |
| рд╕реЗрдЯреЛрд╕рд╛ | 5.8 | 4.3 |
| рд╡рд░реНрд╕рд┐рдХрд▓рд░ | 7 | 4.9 |
| рд╡рд░реНрдЬрд┐рдирд┐рдХрд╛ | 7.9 | 4.9 |

рдбрд╛рдЯрд╛рдлреНрд░реЗрдо рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдлрдВрдХреНрд╢рди
to_markdown()
рдЖрдкрдХреЛ рд╕рд╛рдорд╛рдиреНрдп (рдХрдВрд╕реЛрд▓) рдлрд╝реЙрд░реНрдо рдореЗрдВ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ (DataFrame) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

T-SQL рдкрд░, рдпрд╣ рдСрдкрд░реЗрд╢рди рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

select i.Variety, max(i.SepalLength) as maxSepalLength
    from Iris i
        group by i.Variety

рдкрд░рд┐рдгрд╛рдо:

рд╕реЗрдЯреЛрд╕рд╛ 5.8 рд╡рд░реНрд╕реАрдХреЛрд▓рд░
7.0
рд╡рд░реНрдЬрд┐рдирд┐рдХрд╛ 7.9

рд▓реЗрдХрд┐рди рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЕрдм рд╣рдо рдЖрдИрд░рд┐рд╕ рдХреЗ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдФрд░ рдиреНрдпреВрдирддрдо (рдпрджрд┐ рдЖрдкрдХреЛ рдФрд╕рдд рдкрд╕рдВрдж рд╣реИ) рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреМрдзреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдЯреА-рдПрд╕рдХреНрдпреВрдПрд▓ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

select
	i.Variety 
	,max(i.SepalLength) as maxSepalLength 
	,min(i.SepalLength) as minSepalLength
	,max(i.SepalWidth) as maxSepalWidth
	,min(i.SepalWidth) as minSepalWidth
	,max(i.PetalLength) as maxPetalLength
	,min(i.PetalLength) as mibPetalLength
	,max(i.PetalWidth) as maxPetalWidth
	,min(i.PetalWidth) as minPetalWidth
from Iris i
	group by i.Variety

рдкрд░рд┐рдгрд╛рдо:

рд╕реЗрдЯреЛрд╕рд╛ 5.8 4.3 4.4 2.3 1.9 1.0 1.0 0.1 0.1
рд╡рд░реНрд╕рд┐рдХрд▓рд░ 7.0 4.9 3.4 2.0 3.0 1.8 1.0
рд╡рд░реНрдЬрд┐рдирд┐рдпрд╛ 7.9 4.9 3.8 6.9 4.5 2.5 1.4

рдкрдВрдбреЛрдВ рдореЗрдВ, рд╕рдореВрд╣ рдПрдХрддреНрд░реАрдХрд░рдг рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗрд╡рд▓ рдЬреБрд▓рд╛рдИ 18, 2019 рдХреЗ 0.25.0 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреА (рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) ;) рдФрд░ рдХрдИ рднрд┐рдиреНрдирддрд╛рдПрдВ рд╣реИрдВ, рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

import pandas as pd
df = pd.read_csv('iris.csv', delimiter = ',')

df.groupby('variety').agg(
    maxSepalLength = pd.NamedAgg(column = 'sepalLength', aggfunc = 'max'),
    minSepalLength = pd.NamedAgg(column = 'sepalLength', aggfunc = 'min'),
    maxSepalWidth = pd.NamedAgg(column = 'sepalWidth', aggfunc = 'max'),
    minSepalWidth = pd.NamedAgg(column = 'sepalWidth', aggfunc = 'min'),
    maxPetalLength = pd.NamedAgg(column = 'petalLength', aggfunc = 'max'),
    minPetalLength = pd.NamedAgg(column = 'petalLength', aggfunc = 'min'),
    maxPetalWidth = pd.NamedAgg(column = 'petalWidth', aggfunc = 'max'),
    minPetalWidth = pd.NamedAgg(column = 'petalWidth', aggfunc = 'min'),
    )

рдкрд░рд┐рдгрд╛рдо:

рд╕реЗрдЯреЛрд╕рд╛ 5.8 4.3 4.4 2.3 1.9 1.0 0.6 0.1
рд╡рд░реНрд╕рд┐рдХрд▓рд░ 7.0 4.9 3.4 2.0 5.1 1.8 1.8
рд╡рд░реНрдЬрд┐рдирд┐рдХрд╛ 7.9 4.9 3.8 2.2 6.9 4.5 2.5 1.4

рдлрд╝рдВрдХреНрд╢рди
DataFrame.agg(self, func, axis=0, *args, **kwargs)

рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЕрдХреНрд╖ рдкрд░ рдХрдИ рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЗ рдПрдХрддреНрд░реАрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди ** kwargs (рдирд╛рдо рдХрд╛ рддрд░реНрдХ, рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдмреНрд░ рдкрд░ рд▓реЗрдЦ рджреЗрдЦреЗрдВ ) рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдХреЙрд▓рдо рд╣реИ рдЬрд┐рд╕ рдкрд░ рдСрдкрд░реЗрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХрд▓ рдЙрджреНрдзрд░рдг рдореЗрдВ рдПрдХрддреНрд░реАрдХрд░рдг рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдоред рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрд╛рдлреА рд╕реНрд╡реИрдЪреНрдЫрд┐рдХ рд▓рдЧрддреА рд╣реИред рдЖрдЧреЗ рдмрдврд╝реЛред

рд▓реИрдореНрдмреНрдбрд╛ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╣реА рд╕рдорд╛рдзрд╛рди рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ:

import pandas as pd
df = pd.read_csv('iris.csv', delimiter = ',')

df.groupby('variety').agg([
    lambda x: x.max(),
    lambda x: x.min()
    ])

рдкрд░рд┐рдгрд╛рдо:

рд╕реЗрдЯреЛрд╕рд╛ 5.8 4.3 4.4 2.3 2.3 1.0 1.0 0.1 0.1
рд╡рд░реНрд╕рд┐рдХрд▓рд░ 7.0 4.9 3.4 2.0 3.0 1.8 1.0
рд╡рд░реНрдЬрд┐рдирд┐рдпрд╛ 7.9 4.9 3.8 6.9 4.5 2.5 1.4

рдореИрдВ рдЕрдХреНрд╕рд░ рдмрд╣реБрдд рдХрдо рд▓рд┐рдЦрд┐рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирддрд╛ рд╣реВрдВ рдЬрдм рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╕рдордп рдкрд╛рдпрдердиред рдпрд╣рд╛рдВ, рдЯреА-рдПрд╕рдХреНрдпреВрдПрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдХреЛрдИ рднреА рдЗрд╕рд╕реЗ рд╕рд╣рдордд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рднрд╛рд╖рд╛рдИ рдЙрдкрдХрд░рдгреЛрдВ рдЬреИрд╕реЗ рдПрд╕рдХреНрдпреВрдПрд▓ рдпрд╛ рдЯреА-рдПрд╕рдХреНрдпреВрдПрд▓ рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдФрд░ рдЕрдиреБрдХреНрд░рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЛ рдЧрдпрд╛ рд╣реИ (рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп)ред

рд▓реЗрдЦ рд╕реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдФрд░ рдХреЛрдб рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

0.25.0 рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ (рдЬреБрд▓рд╛рдИ 18, 2019)

рдкрд╛рдВрдбрд╛

All Articles