머신러닝(MachineLearning)/판다스(Pandas) 6

DataFrame 결손 값 처리하기, apply lambda

결손 데이터 처리하기 판다스에서의 결손 데이터는 데이터가 없는 경우(Null)를 의미하며 이것을 넘파이의 NaN으로 표시한다. NaN값은 aggregation 함수의 연산과 머신러닝 알고리즘에서 제외되므로 이를 적용하기 전에 NaN을 다른 값으로 대체해야 한다. DataFrame에서 isna()를 적용하면 모든 칼럼의 값이 NaN인지 아닌지를 True 또는 False 값으로 반환한다. 반환된 결과에 sum()함수를 호출하면 True값(NaN 값)을 1로 계산하여 총 몇 개의 행이 비어있는지를 구할 수 있다. import pandas as pd titanic_df = pd.read_csv('train.csv') print(titanic_df.isna().sum()) titanic_df.head(2) 실행 ..

DataFrame의 정렬, Aggregation, groupby

DataFrame, Series 정렬 DataFrame과 Series를 정렬하기 위해서는 sort_values() 메서드를 이용한다. sort_values()의 주요 파라미터 값에는 by, ascending, inplace가 있다. by값에는 정렬 기준이 되는 열 이름을 입력하고, ascending은 오름차순으로 정렬할지 내림차순으로 정렬할지를 결정한다. 기본값은 ascending=True(오름차순)이다. inplace는 정렬한 결과를 원본 DataFrame에 적용할지를 결정한다. 기본값은 inplace=False(원본 DataFrame은 유지)이다. import pandas as pd # 타이타닉 데이터 DataFrame으로 불러오기 titanic_df = pd.read_csv('train.csv') ..

DataFrame에서 원하는 데이터 추출하기

DataFrame [ ] 연산자 DataFrame의 [ ] 안에 열(column) 이름을 넣어 원하는 열의 데이터만 추출할 수 있다. 여러 개의 열의 데이터를 추출하고자 할 때는 [ ] 안에 열 이름들을 다시 [ ]로 묶어 리스트형으로 만들어줘야 한다. import pandas as pd # 타이타닉 데이터 파일 불러오기 titanic_df = pd.read_csv('train.csv') # 타이타닉 데이터에서 Name 열과 Age 열만 추출하기 filtered_df = titanic_df[['Name', 'Age']] filtered_df.head(3) 실행 결과 DataFrame의 iloc[ ] 연산자 iloc[ ] 는 위치 기반 인덱싱으로 [ ] 안에 행, 열 값으로 정수가 입력된다. # 1행 4열..

Index 객체

판다스의 Index는 DataFrame, Series의 레코드(행)을 고유하게 식별하는 객체이다. import pandas as pd # 타이타닉 데이터 파일 불러오기 titanic_df = pd.read_csv('train.csv') # Index 객체를 indexes 변수에 저장 indexes = titanic_df.index print('Index 객체:', indexes) print('Index 객체 array 값: \n', indexes.values) 실행 결과 Index 객체는 ndarray와 유사하게 슬라이싱이 가능하지만, 레코드를 구별하는 고유값이기 때문에 수정은 할 수 없다. print(type(indexes.values)) print(indexes.values.shape) print(i..

DataFrame 데이터셋 수정하기

DataFrame과 리스트, 딕셔너리, 넘파이 ndarray 상호변환 ndarray를 DataFrame으로 변환하기 array = np.array([[90, 85, 78],[95, 60, 85], [80, 100, 88]]) df_array = pd.DataFrame(array, columns=['A', 'B', 'C']) print(df_array) 실행 결과 리스트를 DataFrame으로 변환하기 import pandas as pd lst = [[90, 85, 78],[95, 60, 85], [80, 100, 88]] # 2차원 리스트 df_lst = pd.DataFrame(lst, columns=['A', 'B', 'C']) # columns에 열 이름 입력 print(df_lst) 실행 결과 딕셔..

DataFrame으로 데이터 불러오기

판다스(Pandas)는 데이터 처리, 특히 행과 열로 이뤄진 2차원 데이터를 효율적으로 가공, 처리할 수 있는 기능을 제공하는 라이브러리다. 판다스 모듈 임포트하기 import pandas as pd 캐글(Kaggle)에서 데이터 파일 다운받기 캐글은 머신러닝 경연에 사용되는 많은 예제들을 포함하는 사이트이다. 타이타닉 탑승자 중 생존자 예측하기는 그중에서 가장 대표적인 예제이다. 캐글에 로그인을 한 후에 아래 링크에 들어가서 Download All 버튼을 눌러 타이타닉 탑승자에 대한 데이터를 다운받을 수 있다. https://www.kaggle.com/competitions/titanic/data Titanic - Machine Learning from Disaster | Kaggle www.kaggl..