캐글은 세계적인 ML 기반 분석 대회이다. 그 중에서도 타이타닉 생존자 예측은 처음 입문하는 사람들이 하는 튜토리얼이다. 캐글 사이트에서 Titanic을 검색하거나, https://www.kaggle.com/c/titanic에 들어가면 Data 카테고리에서 학습 데이터(train.csv)와 테스트 데이터(test.csv)를 다운 받을 수 있다. 다운받기 전에 로그인을 해야하니 회원가입을 먼저하고 데이터를 다운받으면 된다. 오른쪽에는 해당 데이터에 관한 간략한 정보들이 나와있는 것을 확인할 수 있다. 다운받은 파일은 파이썬 코드 파일( 주피터 노트북일 경우, 해당 .ipynb파일)이 있는 디렉토리에 csv 파일을 저장한다. 이후에 다른 파일들도 train.csv 파일들이 많이 존재하기 때문에, 구별할 수 ..
판다스 검색 결과
정렬 DataFrame과 Series를 정렬하는 데에는 .sort_values() 함수를 사용한다. 해당 함수는 DataFrame과 Series에서 특정 칼럼의 값으로 정렬을 하는 경우에 사용한다. 파라미터 : by / ascending / inplace by : 어떤 칼럼의 데이터 값을 기준으로 정렬을 할 것인지에 대해서 해당 열의 이름을 인자로 넣어준다. ascending(= True) : 디폴트 값이 True이고 True로 한다면 오름차순으로, False는 내림차순으로 정렬한다. inplace : 이전의 함수들과 동일한 역할을 하는 파라미터이므로 별도의 설명을 생략한다. import pandas as pd import numpy as np titanic_df = pd.read_csv('train.c..
DataFrame의 [ ] 연산자 넘파이와 DataFrame 간 가장 유의해야 할 연산자가 바로 '[ ]' 연산자이다. 넘파이 - 행의 위치, 열의 위치, 슬라이싱 범위 등을 지정하여 데이터를 가져올 수 있었다. DataFrame - 칼럼만 지정할 수 있는 칼럼 지정 연산자로 이해를 하는 것이 가장 좋다. (추가적으로, 인덱스로 변환 가능한 표현식도 들어갈 수 있다. ) print('단일 칼럼 데이터 추출 : \n', titanic_df['Pclass'].head(3)) print('\n여러 칼럼의 데이터 추출: \n', titanic_df[['Survived', 'Pclass']].head(3)) print('[] 안에 숫자 index는 KeyError 오류 발생 : \n', titanic_df[0])..
인덱스 판다스에서 인덱스는 없어서는 안될 필수적인 요소이다. 파일을 로딩해서 .index 매서드를 통해서 인덱스를 가져올 수 있다. 이 때, 1차원 array 형태가 반환되고, ndarray처럼 단일 값을 반환하거나, 슬라이싱 하는 것도 가능하다. import pandas as pd import numpy as np #원본 파일 다시 로딩 titnaic_df = pd.read_csv('titanic_train.csv') #Index 객체 추출 indexes = titanic_df.index print(indexes) #Index 객체를 실제 값 array로 변환 print('Index 객체 array 값 : \n', indexes.values) print(type(indexes.values)) print..
생성 DataFrame의 열 생성은 쉽게 만들 수 있다.(판다스의 가장 큰 장점이기도 하다.) 일단 2가지로 나눌 수 있다. 1) 새로 만드는 열의 모든 데이터를 상수로 채워 넣는 경우 이 경우는 주로, 새로운 열(피처)을 만들기 위해서 해주는 경우가 많다. 어려울 것 없이 titanic_df['Age_0'] = 0 #새로 만들어진 'Age_0'열의 모든 value 값들이 0으로 채워진다. titanic_df.head(3) 'Age_0'이라는 열이 존재하는 열이 아니라, 새로 생성할 열의 이름을 대괄호 안에 작은 따옴표로 지정해 준 뒤 등호 오른쪽에 상수를 넣으면 해당 열의 모든 Value 값들이 해당 상수 값으로 채워지는 것을 확인 할 수 있다. 2) 기존에 있는 열(column)을 이용하여 새로운 열..
Pandas import pandas as pd import numpy as np 파이썬으로 데이터를 다루는 경우 정형화된 데이터는 주로 Pandas 와 Numpy를 통해서 다룬다. 하지만, Numpy는 저수준 API가 대부분 이므로, 여러가지 고급진 기능을 다양하게 사용할 수 있는 Pandas를 애용하는 사람들이 많다. 또한, Pandas는 리스트, 넘파이 등의 내부 데이터를 비롯하여, 코드 외부에 있는 csv등의 파일도 바로 Pandas객체로 만들수 있다는 장점을 가지고 있다. pd.read_csv() 판다스를 사용할 때, 가장 첫번째로 하게 되는 것은 아마 pd.read_csv()일 것이다. 이때, 가장 중요한 것은 파일의 경로를 제대로 쓰는 것이다. 해당 코드와 파일이 동일한 위치에 있을 경우에는..
Pandas : 데이터 처리를 위한 라이브러리 / 많은 부분이 numpy로 작성되어 있다. / 고수준 API 제공 / csv 파일 등 외부 데이터도 DataFrame으로 변경하는 것이 용이하다. import pandas as pd pandas를 불러오는 코드. numpy를 코드에서 np로 적는 것 처럼 pandas에서도 마찬가지로 pd라고 사용하는 경우가 대부분이다. 판다스의 기본적인 함수들 pd.read_csv() : csv 파일을 dataframe으로 만드는 함수(csv파일은 이해하기 쉽게 엑셀 파일과 거의 동일한 형태라고 보면 된다. ) pd.head / tail() : DataFrame의 첫/마지막 데이터들을 제공한다. 샘플을 보여주는 기능을 하는 함수라고 생각하면 된다. 괄호 안에 숫자를 집어넣..
이전 글에서 이어지는 글입니다. (JY) 파이썬 Pandas groupby 이해하고 활용하기 -3 이전 글에서 이어지는 글입니다. (JY) 파이썬 Pandas groupby 이해하고 활용하기 -2 이전 글에서 이어지는 글입니다. (JY) 파이썬 Pandas groupby 이해하고 활용하기 -1 import pandas as pd train_data = pd.read.. dsbook.tistory.com 데이터 프레임을 직접 만들어보자. df1 = pd.DataFrame('key1' : np.arange(10), 'value1' : np.random.randn(10)) df2 = pd.DataFrame('key1' : np.arange(10), 'value1' : np.random.randn(10)) df..
이전 글에서 이어지는 글입니다. (JY) 파이썬 Pandas groupby 이해하고 활용하기 -2 이전 글에서 이어지는 글입니다. (JY) 파이썬 Pandas groupby 이해하고 활용하기 -1 import pandas as pd train_data = pd.read_csv('./train.csv') train_data.head() Groupby 이해하기 모든 groupby 연산은 기존.. dsbook.tistory.com 이번에는 데이터 프레임을 직접 만들어 줄 것이다. df = pd.DataFrame({ '사람': ['A', 'A', 'A', 'B', 'B', 'C', 'A', 'A', 'C', 'B', 'B', 'B'], '요일': ['월요일', '화요일', '수요일', '월요일', '화요일', ..
이전 글에서 이어지는 글입니다. (JY) 파이썬 Pandas groupby 이해하고 활용하기 -1 import pandas as pd train_data = pd.read_csv('./train.csv') train_data.head() Groupby 이해하기 모든 groupby 연산은 기존 객체에 대해 다음과 같은 연산 중 하나를 포함한다. 데이터 분할하기 데이터 연산.. dsbook.tistory.com 2. 데이터 연산하기 -2) 3) 기존의 DataFrame 형태를 그대로 유지한채로 연산하기: transform() train_data.groupby('Pclass').mean() 그룹핑을 한 후 바로 연산을 하면, 그룹핑된 column들이 index레벨에 내려간 채로 연산이 진행되게 되며, 원본 D..
최근댓글