728x90

파이썬으로 할 수 있는 일 73

index 및 columns 이름 재설정(Pandas 레시피)

파이썬의 pandas는 이제 필수적으로 알아야 하는 라이브러리가 되었다고 생각한다. 금융 쪽 뿐만 아니라 웹 스크래핑을 통해 데이터를 확보하고 그 자료를 딥러닝 등으로 분석하기 전 전처리에 유용하게 사용할 수 있는 도구로써도 유용하다고 본다. 우선적으로 Pandas DataFrame에서 사용할 수 있는 가장 기본적인 기능에 대해서 정리해 보고자 한다. 이번 글에서는 DataFrame에서 각 열과 컬럼(행)의 이름을 변경하는 것부터 해보자. >>> import pandas as pd # pandas 라이브러리를 읽어들인다 >>> movies = pd.read_csv('movie.csv', index_col = 'movie_title') # csv파일을 읽어들이면서, 컬럼 중에서 인덱스로 만들 컬럼을 선택한..

파이썬으로 데이터 분석에 도전해 보자

불확실성이 확대되고 미래가 어둡다고 생각되는 2019년이다. 삶이 녹록치 않음을 느끼는 연령대가 40~50대가 아닐까? 특히 IMF 전에 취직한 후 현재까지 회사라는 울타리에서 잘 지내다가 정년퇴직, 명퇴 등을 당한 40~50대는 무슨 일을 어떻게 해야할지 막막할 수 있을 것이다.하지만, 변하는 세상만을 탓하고 있을 필요는 없다고 생각한다. 이제 스스로 변해야 할 때가 되었다고 믿는다. 그리고 변화된 나 자신을 만들어 내기 위한 첫걸음이 파이썬이 되길 바란다. 난 40대 후반 인문학도로 세상의 빠른 흐름에 발 맞추기 위해 파이썬으로 데이터 분석에 도전하려고 하고 있다. 그 이유는 무엇일까? 디지털 시대로 전환하는 격변의 시대를 대비하기 위해서는 데이터 분석이 꼭 필요하게 되었기 때문이다. 늦은 나이란 없..

Pandas의 index에 대해

index는 Series 또는 DataFrame에서 값을 찾기 위한 최적화된 도구라고 할 수 있다. 관계형 데이터베이스의 key와 많이 비슷하다고 이해하면 좋을 것 같다.index 객체는 변경할 수 없다는 특징을 갖고 있다. 또한, pandas에서 데이터 값들을 검색할 때는 index를 통해 검색하는 것이 컬럼을 가지고 검색하는 것보다 5배 정도 속도가 빠르다. * jupyter notebook에서 %timeit을 사용해 실행 속도를 시뮬레이션할 수 있음. 그렇기 때문에 pandas를 많이 사용하는 경우, index를 목적에 맞게 잘 생성하고 검색하는 데 이용할 수 있도록 할 필요가 있다.그럼 먼저 pandas index 유형을 정리해 보도록 하자. pandas index 유형1. Int64Index 정..

Pandas DataFrame

Pandas에서 데이터 분석을 하기 위해 가장 많이 사용하는 것이 DataFrame일 것이다. Series를 확장한 것이 DataFrame이라고 이해하면 좀 더 쉽게 다가올 것이라 생각한다. 기본 속성들을 정리해 보도록 하자.>> import pandas as pd # pandas 라이브러리를 읽어들임>> import numpy as np # numpy 라이브러리를 읽어들임 >> df = pd.DataFrame(np.arange(1, 6)) # numpy 배열(1에서 5까지)로부터 data frame을 생성함>> df = pd.DataFrame(np.array([[70, 71], [90,91]]), columns=['Missoula', 'Philadelphia']) # columns 속성을 사용해 컬럼을..

Pandas Series

Pandas 자료 구조는 Series와 DataFrame을 말한다고 생각하면 된다. 그 정도로 이 두가지에 익숙해지면 pandas를 잘 활용한다고 할 수 있다는 것이다.1. Series 정의Series는 pandas의 기본 블록이라고 할 수 있다. 일련의 객체를 담을 수 있는 1차원 배열과 같은 자료 구조를 나타낸다. Series 객체의 문자열 표현은 왼쪽에 색인(index)을 보여주고 오른쪽에 해당 색인의 값(values)을 보여준다. 즉, Series의 배열과 색인 객체는 각각 values와 index 속성을 통해 얻을 수 있는 것이다. 2. Series 만들기>> import pandas as pd # 사용할 라이브러리를 불러온다(이미 설치되어 있다고 가정).>> import numpy as npS..

Pandas로 데이터 파일 읽기

요즘 데이터 분석 공부를 하면서 pandas를 거의 매번 사용하게 된다. 그만큼 파이썬에서는 필수적인 라이브러리가 되었기 때문이 아닐까 한다. 그럼 가장 기본이 되는 데이터 읽는 방법부터 정리해 보도록 하자. pandas에서는 위와 같은 명령어를 통해 다양한 파일 형태를 읽어들이고, 쓸 수 있다. 그럼 먼저 가장 많이 사용하는 CSV 파일 읽어들이기를 중심으로 정리해 보도록 하겠다. 1. CSV와 텍스트 파일들 보통 데이터는 일반적으로 표 형식으로 사용한다. 한 행에 있는 값이 쉼표로 구분되면 CSV(쉼표로 구분된 값)형식이 된다. 이 형식은 아마 가장 잘 알려져 있고 가장 많이 사용하는 형식일 것이다. 다른 표 형식의 데이터는 공백이나 탭으로 구분할 수도 있으며 일반적으로 다양한 유형의 텍스트 파일(일..

pandas를 활용한 데이터 분석 프로세스에 대해

pandas로 데이터 분석을 실행함에 있어, 어떻게 절차를 구분하는 것이 좋을지 정리해 놓은 글이 있어 번역해 보았다. 특히 Pandas로 실행하고 있기 때문에 향후 pandas의 각 기능에 대해 정리해 보려고 한다.먼저, 오늘은 데이터에서 필요한 정보를 만들어내는 7단계에 대해 간략히 정리하도록 하겠다. 1. 개념화(Ideation)첫단계는 알아내고 싶은 것이 무엇인지 밝히는 것이다. 이것은 우리가 하고 싶은 것이 무엇인지 생각해 보고 증명하기 위한 개념화에 대한 것이다. 개념은 일반적으로 지식을 바탕으로 결정을 내리기 위해 사용할 수 있는 데이터 패턴에 대한 가설과 관련이 있다. 이러한 결정은 비즈니스 차원에서 이루어 지지만 과학 및 연구 분야에서도 발생한다. 그럼 데이터를 통해 우리가 내리는 결정의..

파이썬을 왜 배우고 있는지에 대해

요즘 파이썬을 공부하면서 조금 지쳐버린 것 같습니다. Udacity 공부 진도도 맞추지 못하고 있고, 하루에 1시간 이상 코딩을 하기로 했는데, 쉽게 되질 않습니다.그래서, 다시 마음을 잡기 위해 제 자신에게 물어 봅니다.파이썬으로 대체 무엇을 만들려고 하는가? 입니다. 바로 머리 속에 떠오르질 않습니다. 그건 구체화된 목표가 없기 때문이 아닌가 싶구요. 그래서, 파이썬으로 할 수 있는 일이 무엇인지 구글링해 봅니다. 대부분 동일한 내용으로 포스팅하고 있더라구요.- 시스템 유틸리티 제작- GUI 프로그래밍- 웹 프로그래밍- 데이터 분석- 사물인터넷(IOT에 적당한 라즈베리파이 등)- 봇 개발- Crawler- 빅데이터 분석- AI(머신러닝-딥러닝) 구현그럼, 왜 100여종이 넘는 프로그래밍 언어 중에서 ..

머신러닝 프로젝트 실행 -5

머신러닝 프로젝트 실행(6~7단계) 머신러닝 프로젝트 실행 순서는 1. 문제를 정의하고 전체 그림 바라보기2. 데이터 얻기3. 인사이트를 찾기 위해 데이터 탐색하기4. 기본 데이터 패턴을 머신러닝 알고리즘에 더 잘 노출할 수 있도록 데이터 준비하기5. 다양한 모델을 탐색하고 그 중 가장 좋은 모델을 찾기6. 모델을 알맞게 튜닝하고 멋진 솔루션으로 통합하기7. 시스템 런칭, 모니터링과 유지하기입니다. 지금까지, 1~5단계까지 살펴보았습니다. 이제 2단계만 살펴보면 마무리 될 것 같습니다. 먼저, 6. 모델을 알맞게 튜닝하고 멋진 솔루션으로 통합하기 이제 유망한 모델들을 가졌다고 가정해 봅시다. 그럼, 이 모델들을 튜닝하는 것이 필요합니다. 실행할 수 있는 몇가지 방법을 살펴보도록 하겠습니다. 그리드 서치(..

머신러닝 프로젝트 실행 -4

이번에는 머신러닝 프로젝트 4단계에 이어, 5단계를 살펴보도록 하겠습니다. 5. 다양한 모델을 탐색하고 그 중 가장 좋은 모델 찾기지금까지 문제를 정의하고, 데이터를 얻어서 탐색해 보았습니다. 그리고 트레이닝 셋과 테스트 셋을 샘플링하고, 자동적으로 머신러닝 알고리즘을 위해 클리닝해서 데이터를 준비하기 위해 변형 파이프라인을 작성했습니다. 이제 머신러닝 모델을 선택해서 트레이닝시킬 준비가 되었습니다. 트레이닝 셋에서 훈련하고 평가하기좋은 소식은 이전 1~4단계 덕분에, 이제 생각했던 것보다 상황이 훨씬 간단하게 진행될 것이라는 것입니다. 우선 선형 회귀 모델을 트레이닝해 봅시다.>>> from sklearn.linear_model import LinearRegression>>> lin_reg = Line..

728x90