Python
[SK T Academy] Pandas 기본기 다지기 : Series, DataFrame
Tech Signal
2020. 12. 17. 15:24
tacademy.skplanet.com/live/player/onlineLectureDetail.action?seq=180
import pandas as pd
df = pd.read_csv('/input/seasons.csv') # seasons.csv
df = df.fillna('') # NaN인 것 공백 처리
nature = df.query('season != ""') # season이 공백이 아닌 것을 nature 가져옴
for checkWord in nature.season: # 가져온 테이블에서 season 요소 중에 checkWord가 있을
return checkWord # 해당 checkWord를 반환한다
pd.뫄뫄.values = Numpy를 사용하게 됨. 즉 Pandas가 Numpy의 기능을 포함
Pandas는 인덱스 이름 뭐로할지 지정 가능
Pandas의 Series(1차원)은 index와 value를 가진다
height_dict = {'mom': 160, 'dad': 170,
'me': 165, 'sister': 155} # 가족들의 키를 담은 딕셔너리
heights = pd.Series(height_dict) # 딕셔너리를 Series로 바로 만들 수있음
heights * 1000 # 모든 값에 1000을 곱해줌
딕셔너리는 순서가 없고 판다스의 Series는 순서가 있어서 숫자 인덱스로 조회 가능
딕셔너리dictionary 를 Series로 만들 수 있다
DataFrame: 2차원 데이터, 엑셀 스프레드시트 같은 구조 ( Series가 합쳐져있다고 생각하면 됨)
pd.DataFrame()
1번: 리스트 3개가 모여 DataFrame이 되었다. 컬럼명은 DataFrame 만들때 같이 명시해주었음
2번: dictionary 타입으로 컬럼명을 맨 앞에 두고 해당 컬럼에 속할 것들을 넣어줌
type(df['영화 제목']) # 데이터프레임의 해당 컬럼 타입?: Series
type(df) # 데이터프레임 그 자체: DataFrame
DataFrame 속성
df.index # 내가 지정한 인덱스 설명
df.columns # 컬럼들
df.dtypes # 문자열을 String이 아니라 Object로 다룸
df.values # 값들
s_1 = pd.Series([1, 2, 3, 4], index=['A', 'B', 'C', 'D'])
s_2 = pd.Series([5, 6, 7, 8], index=['A', 'B', 'C', 'D'])
s_3 = pd.Series([9, 10, 11, 12], index=['A', 'B', 'C', 'D'])
data = {'col1': s_1, # key값과 value로 미리 만들어둔 Series를 넣는다.
'col2': s_2,
'col3': s_3}
df_4 = pd.DataFrame(data, index=['A', 'B', 'C', 'D'])
df_4
NumPy ndarray와 비교
- Series 에서 series*100 이런 식으로 해서 모든 요소 연산 가능
- NumPy는 인덱스를 지정할 수 없어서 DataFrame의 크기만 같으면 연산 가능