728x90
반응형
SMALL
import pandas as pd
import numpy as np
data = {'eng':[10,30,50,70],
'kor':[20,40,60,80],
'math':[90,50,20,70]}
df = pd.DataFrame(data, index=['a','b','c','d'] )
df
데이터프레임 통계함수 default(column별), axis=1 (row별)
※ 일반함수들은 default(row별), axis=1(column별) 이므로 주의
ex) df.dropna(axis=1) 은 NaN이 있는 column삭제
df.sum()
[OUT] :
eng 160
kor 200
math 230
dtype: int64
df.sum(axis=1)
[OUT] :
a 120
b 120
c 130
d 220
dtype: int64
df.sum().sum()
# df.values().sum()
[OUT] :
590
sr = df.unstack() # dataFrame -> series
sr.index
[OUT] :
MultiIndex([( 'eng', 'a'),
( 'eng', 'b'),
( 'eng', 'c'),
( 'eng', 'd'),
( 'kor', 'a'),
( 'kor', 'b'),
( 'kor', 'c'),
( 'kor', 'd'),
('math', 'a'),
('math', 'b'),
('math', 'c'),
('math', 'd')],
)
sr['eng']
[OUT] :
a 10
b 30
c 50
d 70
dtype: int64
sr['kor']['c']
[OUT] :
60
sr
[OUT] :
eng a 10
b 30
c 50
d 70
kor a 20
b 40
c 60
d 80
math a 90
b 50
c 20
d 70
dtype: int64
df.unstack().sum()
[OUT] :
590
df.mean()
[OUT] :
eng 40.0
kor 50.0
math 57.5
dtype: float64
df.mean(axis=1).round(2)
[OUT] :
a 40.00
b 40.00
c 43.33
d 73.33
dtype: float64
df.values
[OUT] :
array([[10, 20, 90],
[30, 40, 50],
[50, 60, 20],
[70, 80, 70]])
df.min()
[OUT] :
eng 10
kor 20
math 20
dtype: int64
df.idxmax()
[OUT] :
eng d
kor d
math a
dtype: object
df.idxmax(axis=1)
[OUT] :
a math
b math
c kor
d kor
dtype: object
df.median()
[OUT] :
eng 40.0
kor 50.0
math 60.0
dtype: float64
df.std()
[OUT] :
eng 25.819889
kor 25.819889
math 29.860788
dtype: float64
df.quantile([0.25,0.5,0.75])
df.count()
[OUT] :
eng 4
kor 4
math 4
dtype: int64
df.describe()
# df.describe()['eng']
review
- 데이터프레임 통계함수는 column별 계산이 default
728x90
반응형
LIST