본문 바로가기

Hello python!/Python_DA

(11)
파이썬 데이터처리_타이타닉 데이터 실습 20221102 19일차 우선적으로 중요 라이브러리를 임포트 해준다. 타이타닉호의 데이터셋의 개요는 위와 같다. 우선 데이터를 입맛에 맞게 전처리 하기 위해 데이터를 적재 해준다. 첫 번째로 해볼것은 컬럼 목록을 가져와 보고 map(str.upper)을 이용해 컬럼 목록을 대문자로 만들어보자 * 일반적인 파이썬에서 쓰는 map과 DF에서 map은 다르다. * .upper()는 앞의 문자열을 대문자로 바꿔주기때문에 str을 넣어줘야한다. 두 번재 방법으로는 data.rename(columns = str.upper)가 있다. 데이터프레임과 시리즈 데이터 타입에 대해 함수를 적용하고 싶을때 map() 과 apply()를 사용한다. df.map() or df.apply()pd.map() or pd.apply()..
파이썬 데이터분석 _전처리_표준화 20221101 18일차 뽑아온 데이터를 내 입맛대로 수정하는 작업을 데이터 전처리라고 한다. 첫 번째로 날짜 형식을 바꿔보자. 우선 Series로 str인 여러 종류의 날짜들을 바꿔준다. 우선 기본적으로 문자열 str로 되어있는 날짜를 datetime 타입으로 변환 후 pandas에 저장하는 방식이 있다. pd.to_datetime() to_datetime()을 써도 되고 series.astype() 을 이용해 데이터타입을 datetime64로 바꿔줄 수도 있다. timestamp는 기준 시각 (1970. 01. 01 00:00:00 UTC)로 부터 몇 초가 경과했는지 UNIX시간으로 표기한다.기본 unit으로 ㎱(nano seconds)를 쓰고 있다. * unit = ㎱(default) : 나노 초 ..
파이썬 데이터처리_시각화_matplotlib 기초 20221025 15일차 pandas객체의 기본적인 시각화 도구 Matplotlib를 사용하기 위해 라이브러리를 가져온다. plt.plot() 안에 자료형을 넣으면 자동으로 x축은 데이터의 갯수 만큼 설정되고y축에는 넣은 자료가 위와 같이 선 그래프로 보여준다. 만약 plt.plot() 안에 두 개의 자료형을 넣는다면 순서대로 자동 x축, y축으로 배정된다. 만약 plot에서 한글 폰트를 설정하지 않으면 한글이 깨져 나오기 때문에 위와 같이 폰트를 설정해주는 과정이다. 그래프를 두 개 보여주고 싶다면 위와 같이 plt.plot()을 두 개 입력하면 된다. 그래프의 제목은 plt.title("") 그래프의 x축명은 plt.xlabel("") 그래프의 y축명은 plt.ylaber("") 그래프의 범례명은 p..
파이썬 데이터분석_데이터 전처리 20221024 14일차 우선 중요 라이브러리를 임포트 해준다. 계층 색인이란 쉽게 설명하면 다차원 자료형을 검색하는것이다. DataFrame자료형의 경우 재배열 메서드가 존재해 재배열이 가능하다. 다차원 Series 생성 Row index가 2차원으로 생성된것을 볼 수 있다. 상위 인덱스로 접근이 가능하다. (일반적인 Series 인덱싱으로 접근) * 슬라이싱도 가능하다. 위 사진에서 s1[:,2] 가 의미하는것은 s1이라는 변수명에 저장된 Series의 전체Row범위([:) 와 하위 로우 인덱스(,2]) 2번째 데이터만 조회한다. unstack()는 최하위 로우 계층을 컬럼으로 적용시켜 위로 올린다. * 기존에 없는 로우 계층의 값은 NaN값이 된다. stack()은 컬럼에 있던 인덱스들을 row로 ..
파이썬 데이터분석_데이터적재 20221024 14일차 파이썬에서는 컴퓨터에있는 .csv파일을 DataFrame화 해서 볼 수 있다. 파일을 불러오기 전에 절대경로와 상대경로에 대해 알아보자. 절대경로는 말 그대로 절대적인 경로이다. 절대경로를 넣으면 틀릴 수 없다. 절대 경로는 예를 들어 내가 있는 건물의 13층으로 그 사람을 오게 하고 싶을때 주소를 불러주는 것과 같다. 상대경로는 건물 13층에 있는데 로비에 있는 사람에게 "13층으로 오세요" 하는것과 같다. 위 사진의 주석 처럼 절대 경로로 데이터를 불러 올수도 있지만 마지막 코드처럼 상대경로로 불러올 수도 있다. header = None을 주면 컬럼명이 초기화 된다. 다시 컬럼명을 줘서 내가 원하는 컬럼명으로 변경 가능하다. csv파일의 구조를 확인했더니4 x 1 구조여서 데..
파이썬 데이터분석_pandas_DataFrame 20221021 13일차 여러개의 Series가 모인다면 어떻게 데이터를 처리해야 할까 정답은 DataFrame이다. 데이터 프레임은 여러가지의 데이터 타입으로 구성이 가능하다. 이렇게 모인 Series의 컬럼명이 컬럼 인덱스가 되고 그럼 자동으로 로우 인덱스가 생성된다. 주의할 점은 아이템의 길이가 같아야 한다. ex) data1의 1 , 'a', 0 이 하나의 시리즈로 보기 때문에 다른 아이템들도 길이를 맞춰 줘야함. 최대 길이의 행을 기준으로 df구조가 생성된다. * Numpy 경우 배열과 다르게 아이템이 부족하면 생성이 안됬지만 DataFrame은 NaN값으로 출력됨. 딕셔너리 자료형을 데이터프레임 데이터로 사용할 경우key값 별로 매칭하기 때문에 value의 길이가 모두 동일해야 한다. 딕셔너리..
파이썬 데이터분석_Pandas_Series 자료형 20221020 12일 차 앞서 포스팅한 Numpy는 전체 배열 원소를 동일한 타입으로 제한했다면 Pandas는 여러 형태의 데이터타입을 원소로 사용할 수 있다. Pandas의 자료형은 Series로 불리며 Series는 1차원 배열과 유사한 자료형 형태로 만들어 진다. Numpy의 행과 같은 느낌으로 Series는 Index를 가지고 있으며 기본값은 0부터 1씩 증가하는 숫자로 지정된다. Numpy와 같이 Pandas 또한 import 시키고 as " " 로 명령어를 바꿀 수 있다. Series생성은 pd.Series()로 생성한다. 숫자 10을 데이터로 가지고 있는 Series를 생성하면 0번 인덱스에 10이 있고 10의 데이터타입은 int라고 출력된다. 인덱싱이나 슬라이싱으로 값을 출력할 수 있으며..
파이썬 데이터분석_numpy변환(정렬, 참조, 복사)2 20221020 12일차 * 행렬에서 전치행렬이란 행과 열을 교환하여 얻는 행렬이다. 하지만 위의 사진과 같이 메서드를 적용하면 원본 값이 변하는것이 아닌 시뮬레이션의 결과만 출력된다. 그렇다면 원본까지 바꿔주는 메서드는 뭐가 있을까 .revel() 메서드는 다차원의 행렬을 1차원으로 바꿔준다. 3 x 4 배열인 arr1에 .revel() 메서드를 적용시킨 arr2는 1차원 배열이 되는것을 볼 수 있다. arr1에 .reshape 메서드를 적용시킨 배열을 arr3이라고 했을때arr3에 값을 수정하면 원본 arr1도 값이 수정되는것을 볼 수 있다. 동일한 사이즈에 값은 다른 난수로 이루어진 배열 2개을 만들어보자. 변경되는 배열의 요소 수가 동일하면 .reshape()와 동일하게 동작한다. 사이즈가 다르면..