이제 정말 약간이나마 데이터 분석으로 가까워집니다.
1. Dataframe 정보 확인
a. df.describe()
import pandas as pd
data = {
'이름' : ['채치수', '정대만', '송태섭', '서태웅', '강백호', '변덕규', '황태산', '윤대협'],
'학교' : ['북산고', '북산고', '북산고', '북산고', '북산고', '능남고', '능남고', '능남고'],
'키' : [197, 184, 168, 187, 188, 202, 188, 190],
'국어' : [90, 40, 80, 40, 15, 80, 55, 100],
'영어' : [85, 35, 75, 60, 20, 100, 65, 85],
'수학' : [100, 50, 70, 70, 10, 95, 45, 90],
'과학' : [95, 55, 80, 75, 35, 85, 40, 95],
'사회' : [85, 25, 75, 80, 10, 80, 35, 95],
'SW특기' : ['Python', 'Java', 'Javascript', '', '', 'C', 'PYTHON', 'C#']
}
df = pd.DataFrame(data, index=['1번','2번','3번','4번','5번','6번','7번','8번'])
df.index.name = '지원번호'
df.describe()
df.describe() 함수입니다. 숫자로 된 칼럼은 모두 결과를 내줬습니다.
b. df.info()
df.info()
각 칼럼의 데이터 타입과, 비어있지 않은 데이터 개수를 보여줍니다. 얼마만큼의 메모리를 사용하는지도 보여주네요.
c. df.head(), df.tail()
df.head(7) #숫자 비울 시 상위 5개
일곱행이 나왔습니다. 제일 위 몇 행만 가져오는 함수입니다. 반대로 df.tail()도 있습니다. 마지막 행들을 가져옵니다. 이것도 숫자 비우면 5개입니다.
d. df.values
df.values # 이건 ()를 안씁니다!
2차원 리스트 타입이라고 볼 수 있는 Array 로 데이터를 출력합니다.
e. 그 외
df.index : 인덱스 출력
df.columns : Column head 출력
df.shape : 몇 곱하기 몇 구조인지 출력. 예를 들어 8x9 구조라면 (8,9)
2. Series 정보 확인
df['키'].describe()#키 분석값 시리즈로 출력
df['키'].min() #컬럼 내 최소값
df['키'].max() #컬럼 내 최대값
위에서 어느정도 확인한 거라 결과값은 넘어가겠습니다.
print(df['키'].nlargest(3))
print('\n',df['키'].sum())
한번에 나타내려고 엔터(?)를 표현하는 값인 \n 을 이용했습니다. nlargest는 크기 순으로 몇 개를 출력해주는 함수입니다. sum()은 이름 그대로 합계!
이외에, df['학교'].unique()를 입력하면 학교 종류 (북산고, 능남고)만 나옵니다. unique라는 이름이 딱 알맞죠?
종류의 개수만 알고싶으면 df['학교'].nunique()를 사용하시면 됩니다.
너무 피곤해서... 좀 날려썼습니다.......