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'])