반응형
25. Pandas
25.1 실습 예제 - Pandas 기초
Series
- 1차원 배열DataFrame
- 2차원 배열, 표 형태
import numpy as np
import pandas as pd
Series
자료형 생성
obj = pd.Series([3, 6, 9, 12])
print(obj)
print(type(obj)) # 자료형
print(len(obj)) # 개수
기본적으로 숫자 인덱스로 처리됨
obj = pd.Series([3, 6, 9, 12])
obj
숫자 대신 문자열 인덱스 사용 가능
# obj = pd.Series([3, 6, 9, 12]), index = ["a", "b", "c", "d"])
obj = pd.Series([3, 6, 9, 12]), index = ["1번", "2번", "3번", "4번"])
obj
Create a Pandas Series from Dictionary
# key, value로 구성된 딕셔너리 자료형
emp = {"김철수": 5000, "김철호": 7000, "한상민": 4000, "문대용": 4500}
print(emp)
# 딕셔너리를 Pandas의 Series로 변환
obj = pd.Series(emp)
obj
데이터프레임(2차원 배열)
a = pd.DataFrame([
[10, 20, 30],
[40, 50, 60],
[70, 80, 90]
])
print(a)
print(type(a))
print(len(a))
원하는 데이터 추출하기
25.6 실습예제 - 항공운항데이터 분석
import pandas as pd
import numpy as np
# 3년치 - 로딩 시간이 오래 걸림
df1 = pd.read_csv("d:/data/airline/2006.csv", sep = ",")
df2 = pd.read_csv("d:/data/airline/2007.csv", sep = ",")
df3 = pd.read_csv("d:/data/airline/2008.csv", sep = ",")
df1 = df1.append(df2)
df1 = df1.append(df3)
# 데이터프레임의 크기 확인
df1.shape
df1.columns
# 필요한 열 선택
df2 = df1[ ["Year", "Month", "ArrDelay", "DepDelay"] ]
# 처음 5개 행
df2.head()
# 마지막 5개행
df2.tail()
df2.shape
# 결측값 제거: 하나의 열이라도 NaN이 포함된 행들을 drop 시킴
df2 = df2.dropna(how="any")
# 470746건의 결측값이 제거됨
df2.shape
result = df2.groupby(["Year", "Month"], as_index=False).sum()
result
result.to_csv("d:/data/airline/result.csv", sep=",")
반응형