본문 바로가기

Python_Intermediate/Pandas

Pandas Aggregate Function(Pandas 집계 함수)

1. DataFrame Source

from pandas import DataFrame

grade_dic = {
'국어': [98, 88, 92, 63, None],
'영어': [None, 90, 70, 60, 50],
'수학': [88, 62, None, 31, None],
'과학': [64, 72, None, 70, 88]
}

df = DataFrame(grade_dic, index=['코난', '뭉치', '아름', '세모', '장미'])

print(df)


2. 출력물

      국어    영어    수학    과학

코난  98.0   NaN  88.0  64.0

뭉치  88.0  90.0  62.0  72.0

아름  92.0  70.0   NaN   NaN

세모  63.0  60.0  31.0  70.0

장미   NaN  50.0   NaN  88.0


Process finished with exit code 0


3. count() : 데이터 수

df.count()

국어    4

영어    4

수학    3

과학    4

dtype: int64

df['국어'].count()

4


Process finished with exit code 0


4. min() : 최소값

df.min()

국어    63.0

영어    50.0

수학    31.0

과학    64.0

dtype: float64


Process finished with exit code 0

df['국어'].min()

63.0


Process finished with exit code 0


5. max() : 최대값

df.max()

국어    98.0

영어    90.0

수학    88.0

과학    88.0

dtype: float64


Process finished with exit code 0

df['국어'].max()

98.0


Process finished with exit code 0


6. sum() : 합계

df.sum()

국어    341.0

영어    270.0

수학    181.0

과학    294.0

dtype: float64


Process finished with exit code 0

df['국어'].sum()

341.0


Process finished with exit code 0


7. mean() : 평균

df.mean()

국어    85.250000

영어    67.500000

수학    60.333333

과학    73.500000

dtype: float64


Process finished with exit code 0

df['국어'].mean()

85.25


Process finished with exit code 0


8. median() or quantile(q=0.5) : 2사분위수(Q2) / 데이터가 50% 같다. / 중앙값

df.median()

국어    90.0

영어    65.0

수학    62.0

과학    71.0

dtype: float64


Process finished with exit code 0

df['국어'].median()

90.0


Process finished with exit code 0

df.quantile(q=0.5)

국어    90.0

영어    65.0

수학    62.0

과학    71.0

Name: 0.5, dtype: float64


Process finished with exit code 0


9. quantile(q=0.25) : 1사분위수(Q1) / 데이터가 25% 보다 작거나 같음 / 25% 위치

df.quantile(q=0.25)

국어    81.75

영어    57.50

수학    46.50

과학    68.50

Name: 0.25, dtype: float64


Process finished with exit code 0

df['국어'].quantile(q=0.25)

81.75


Process finished with exit code 0


10. quantile(q=0.75) : 3사분위수(Q3) / 데이터가 75% 보다 작거나 같음 / 75% 위치

df.quantile(q=0.75)

국어    93.5

영어    75.0

수학    75.0

과학    76.0

Name: 0.75, dtype: float64


Process finished with exit code 0

df['국어'].quantile(q=0.75)

93.5


Process finished with exit code 0


11. std() : 표준 편차 / 자료의 산포도를 나타내는 수치

df.std()

국어    15.392098

영어    17.078251

수학    28.536526

과학    10.246951

dtype: float64


Process finished with exit code 0

df['국어'].std()

15.392097539538485


Process finished with exit code 0