project/data science
pandas 기본
정밀림
2020. 10. 13. 10:09
import pandas as pd
Series 배열이자 파이썬의 dictionary 같은 부분 : 배열식인데 index 있음.
data = pd.Series([1,2,3,4] , index = ['a', 'b', 'c', 'd'])
a : 1
b : 2
c : 3
d : 4
딕셔너리로 series 만들 수 있음!
dict = {
'seoul' : 4325,
'sejong' : 6542,
}
ser = pd.Series(dict)
key => index
value => data
DataFrame : 여러 개의 Series
dataframe = pd.DataFrame({
'values1':values, #values = pd.Series({'seoul': 2, 'sejong' : 4})
'values2' : ser, #넣 위에서 series로 선언한 애들
})
인덱싱/ 슬라이싱
1) 명시적 인덱스 : .loc
df.loc['minsoo']
#시리즈로 행 값 나옴
df.loc['minsoo:'jinsoo, :'height']
#행 : 민수부터 진수까지/ 열: 처음부터 height 까지
2) 파이썬 스타일 정수 인덱스 : .iloc
df.iloc[0]
# 0번째 행 값 나옴
df.iloc[1:3, :2]
#행 : 1부터 2까지 / 열: 0부터 1까지
누락된 데이터
df.isnull()
df.notnull()
누락된 데이터 버리거나 채우거나
df.dropna()
df['name'] = df['name'].fillna('null')
값 정렬
#col1 에 대해 오름차순 정렬
df.sort_values('col1')
#col1에 대해 내림차순 정렬
df.sort_values('col1',ascending = False)
#col2에 대해 오름차순 하고 값이 같으면 col1의 오름차순대로
df.sort_values(['col2','col1'])