데이터 분석/판다스 10

[Numpy & Pandas 과목평가]

■ Numpy [문제 1] - 0이상 10미만의 3x3 모양의 정수 난수를 생성하고 각 행의 첫 번째 값을 기준으로 정렬 import numpy as np import pandas as pd a = np.random.randint(0, 10, (3,3)) print(a) # 모든 행의 0번째 값으로 argsort (정렬된 인덱스 값을 반환) aa = a[np.argsort(a[:, 0])] print(aa) [[0 1 5] [9 8 4] [0 8 2]] [[0 1 5] [0 8 2] [9 8 4]] [문제 2] - 8x8 모양의 정수 0으로 채워진 행렬을 만들고 인덱싱과 슬라이싱을 이용하여 체크보드 패턴을 만드세요. b = np.zeros((8,8), dtype=int) print(b) [[0 0 0 0..

[Pandas] 서울시 공공자전거 대여 정보 분석 2

- 대여정보 읽기 - 대여정보 확인 (결측치 컬럼 등) - 대여일시, 반납일시를 날짜타입으로 변경 - 일자별로 대여 건수 내림차순으로 정렬하여 출력 - Series객체.dt.날짜property - 요일별 대여 건수 확인 ▶ 대여 정보 데이터 읽기 rent_info = pd.read_csv('Seoul_bicycle.csv', encoding='cp949') rent_info.head() ▶ 대여정보 확인 rent_info.shape # (678830, 11) rent_info.info() RangeIndex: 678830 entries, 0 to 678829 Data columns (total 11 columns): # Column Non-Null Count Dtype --- ------ --------..

[Pandas] 서울시 공공자전거 대여소 정보 분석 1

- 대여소 정보 읽기 - 대여소 정보 확인 - NA 값이 몇개인지 확인 ==> NA 값이 들어있는 데이터 삭제 - 타입 변환 (대여소ID ==> int32, 기준시작일자 ==> 날짜타입) >- 기준시작일에 '개통'이라는 단어를 포함하고 있는 경우 '개통' 단어 삭제 - 대여소_구의 목록, 개수 출력 - 대여소_구별 거치대 수 - 구별 거치대수의 합계, 평균, 최대, 최소 출력하고 거치대가 많은 순으로 합계별 내림차순으로 10개 출력 ▶ 대여소 정보 읽기 import pandas as pd import numpy as np df = pd.read_excel('서울특별시 공공자전거 대여소 정보(19.12.9).xlsx', engine='openpyxl') df.head() ▶ NA 값이 몇 개인지 확인 - ..

[Pandas] 품목별 수출입실적 분석

- 데이터 읽기 (0~3행 skip) - 상위 5개 데이터 확인하기 - 불필요한 행 삭제 및 인덱스 초기화 - 0, 485 행 : '총계', '설명' 에 해당하는 row 삭제 - 인덱스를 0부터 초기화 - 컬럼 데이터 타입 변경 - 수출중량~무역수지 : Object 타입 ==> float으로 데이터 타입 변경 - 연도별 무역수지 평균 및 합계 - 연도별 무역수지가 가장 적은 품목은? ▶ 데이터 읽기 (0~3행 skip) !pip install openpyxl import pandas as pd import numpy as np df = pd.read_excel('import_export.xls', skiprows=[0,1,2,3], engine='openpyxl') df.head() df.tail() ▶..

[Pandas] 국가별 알콜 섭취량 데이터 분석

- 데이터 읽기 - 데이터 정보 확인 - 컬럼명 한글로 변경 - 원본 데이터 컬럼 정보 - country : 국가명 - beer_servings : 맥주 소비량 - spirit_servings : 증류주 소비량(독주, 알코올 함량 20% 이상의 설탕을 첨가하지 않은 증류주) - wine_servings : 와인 소비량 - total_litres_of_pure_alcohol : 순수 알코올 - continent : 대륙 - 결측치 확인 - `대륙`에 대한 정보가 부족한 것을 확인할 수 있다. - drinks.csv 파일을 열어 원인을 확인한다. - 대륙의 종류 - 아시아, 유럽, 아프리카, 북아메리카, 남아메리카, 오세아니아 - AS, EU, AF, NA, SA, OC - 결측치 해결 - 'NA'를 NaN..

[Pandas] 시애틀 강수량 데이터 분석

- 데이터 로딩 - 필요하지 않은 컬럼 삭제 (STATION, STATION_NAME) - DATE를 날짜 형식으로 수정 : 기존 DATE 컬럼의 타입 int -> str로 변경 후 날짜 형식으로 변경 - 날짜 컬럼을 인덱스로 변경 - 강수량('PRCP')이 많은 날 상위 10일 출력 - 1월 강수량만 출력 - 1년동안 강수량이 40미만으로 내린 날이 몇일인가? - 1월에 내린 강수량의 합과 평균 강수량 - 2월에 내린 강수량의 합과 평균 강수량 import pandas as pd import numpy as np df = pd.read_csv('Seattle2014.csv') df.shape df.head() df.tail() df.sample() df.info() RangeIndex: 365 entr..

[Pandas] DataFrame 합치기

▶ merge() 함수 - 두 데이터프레임에서 공통열(PK,FK)이 필요 df1 = pd.DataFrame({'번호':[10,20,30,40,50,60,70], '이름':['홍길동','임꺽정','전우치','손오공','저팔계','사오정','삼장법사']}) df1 df2 = pd.DataFrame({'번호':[10,10,20,40,50,40,40,70,80], '금액':[1000,2000,4500,2345,64332,6678,9345,3566,1000]}) df2 # '번호'라는 공통 키를 기준으로 두 개의 데이터프레임을 병합 # inner join : 양 쪽 데이터프레임에 공통으로 있는 데이터에 대해 병합 (교집합) pd.merge(df1, df2) # outer join : 합집합 pd.merge(df1..

[Pandas] 함수 매핑

▶ map() 함수의 이용 import numpy as np s = pd.Series(np.arange(10)) s 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 dtype: int32 # 각각의 원소를 제곱한 값으로 바꾸기 s.map(lambda x:x**2) 0 0 1 1 2 4 3 9 4 16 5 25 6 36 7 49 8 64 9 81 dtype: int64 ▶ map() 함수를 이용한 데이터 수정 - 데이터 전처리 중 하나인 labeling이나 one-hot encoding 처리 시 사용 ('명목형 데이터' -> 숫자 데이터로 변한) s = pd.Series(['A','B','B','A','C','B']) print(s) 0 A 1 B 2 B 3 A 4 C 5 B dty..

[Pandas] 시계열 데이터

▶ pd.date_range() - start : 시작 날짜 - periods : 생성할 timestamp 개수 - freq : 시간 간격 (D: 1일 간격(기본값), nD: n일, w: 1주, M: 월말, MS: 월초, Q: 분기말, QS : 분기초, A:연말, AS: 연초) # 기본값인 1일 간격으로 6개의 타임스탬프 생성 dates = pd.date_range('20231110', periods=6) print(type(dates)) print(dates) DatetimeIndex(['2023-11-10', '2023-11-11', '2023-11-12', '2023-11-13', '2023-11-14', '2023-11-15'], dtype='datetime64[ns]', freq='D') # 월..

[Pandas] 개요

■ Pandas 개요 - pandas는 데이터 조작 및 분석을 위해 파이썬 프로그래밍 언어로 작성된 소프트웨어 라이브러리이다. - 일명 파이썬의 엑셀이라 부른다. - URL : https://pandas.pydata.org pandas - Python Data Analysis Library pandas pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language. Install pandas now! pandas.pydata.org ■ Pandas 불러오기 -pandas는 일반적으로 pd라는 별칭으로 ..