본문 바로가기

Pandas

(165)
판다스 - 누락 데이터 확인 : isnull(), count_nonzero() 타이타닉 데이터 불러오기 deck 컬럼의 경우 전체 891개의 행 중 203개의 행만 값이 채워진 것을 볼 수 있다. value_counts()로 누락값 개수 확인하기 누락데이터의 개수를 확인하고자 하면 value_counts에 dropna=False 옵션을 사용해야한다. NaN의 개수가 688개인 것을 볼 수 있다. 개별 컬럼이 아닌 전체 컬럼의 누락개수 확인하기1 df.count()는 각 컬럼별 값이 입력된 개수 df.shape[0]는 전체 행의 개수 따라서 df.shape[0]에서 df.count()를 뺀다면 각 컬럼별 누락값의 개수를 볼 수 있다. 개별 컬럼이 아닌 전체 컬럼의 누락개수 확인하기2 axis=0을 이용하면 한 컬럼씩 위에서 아래로 연산 = 행방향 True = 1 / False = 0..
판다스 - 데이터프레임 살펴보기 데이터 개수 확인 count메서드는 데이터프레임의 각 열이 가지고 있는 데이터 개수를 시리즈 객체로 반환 * 주의 : NaN은 빼고 카운트됨 특정 열을 카운트하고 싶다면 df1['컬럼명'].count() 각 열의 고유값 개수 value_counts 메서드는 시리즈 객채의 고유값 개수를 센다. 고유값이 행 인덱스, 고유값의 개수가 데이터 값이 되는 시리즈가 만들어진다. 각 열의 고유 값 고유값만 보고 싶다면 unique 메서드를 이용한다. 중복된 값은 하나로만 나오게 된다. 타이타닉 데이터로 활용하며 살펴보기 seaborn에 내장된 titanic 데이터를 불러왔다. 전체 데이터프레임을 세보고 하나의 컬럼도 세보고 하나의 컬럼의 고유값을 살펴본다. 전체 데이터의 평균값 전체 데이터의 최대값을 볼 수 있다. ..
판다스 - 여러 개의 데이터프레임을 하나의 Excel 파일로 저장 : ExcelWriter 두개 이상의 데이터프레임을 하나의 엑셀파일에 저장 Sheet1, Sheet2 pd.ExcelWriter ExcelWriter() 함수로 생성한 워크북 객체를 writer 변수에 저장하고 현재 폴더에 df_excelwirter이름으로 저장한다. sheet_name에 몇번째 워크시트에 넣을지 입력한다. writer.save() 로 마무리
판다스 - 데이터 연결 : concat 데이터 불러오기 pd.concat([데이터프레임1, 데이터프레임2, ...], axis=0(기본값)) axis=0이 기본값이므로, 위에서 아래방향으로 연결이 됨 기존 데이터프레임의 인덱스도 그대로 유지됨 또한 연결할 데이터프레임간의 컬럼명이 같아야 누락값 없이 연결됨 새 시리즈를 concat 해보기 컬럼명이 다르므로 새로운 열로 추가되며 누락값이 많아짐 새 데이터프레임을 concat 해보기 컬럼명이 같으므로 위, 아래로 잘 연결되었으며 기존 인덱스(0)을 유지함 append로 데이터프레임 연결하기 concat은 한번에 2개 이상의 데이터프레임을 연결할 수 있다. append는 연결할 데이터프레임이 1개라면 이용 가능하다. concat과 ignore_index ignore_index=True를 이용하면 연..
판다스 - 시리즈와 데이터프레임 데이터 처리 데이터 불러오기 dtype('0')는 object를 뜻함 Born컬럼과 Died컬럼은 날짜데이터이기에 자료형을 datetime으로 바꿔줄 필요가 있다. 자료형을 변환한 새로운 시리즈 새 시리즈를 데이터프레임의 새 열로 추가하기 데이터프레임[새로 추가할 열의 이름] = 새 시리즈 * 주의 : 새 시리즈의 길이와 데이터프레임의 길이는 같아야 함 위의 예는 두개의 컬럼을 동시에 추가하는 방법 컬럼간 연산한 시리즈를 다시 열로 추가하기 scientist['Died_dt'] - scientist['Born_dt']를 하면 벡터간 연산이므로 시리즈가 나오게 된다. 이를 또 새로운 컬럼으로 추가하기 위한 작업 얼마나 살았는지에 대한 정보를 컬럼으로 추가하는 것 컬럼 삭제하기 데이터프레임.drop(['컬럼명'], ax..
판다스 - 데이터프레임 다뤄보기 데이터 불러오기 컬럼간 비교를 통한 불린 추출 scientist['Age'] > scientist['Age'].mean()의 결과로 [False, True, True, True, False, False, False, True]가 나오는데 이를 데이터프레임[불린시리즈]로 입력하면 True에 해당하는 행만 나온다. 브로드캐스팅 하기 데이터프레임도 시리즈와 마찬가지로, 스칼라 연산을 하면 모든 요소에 스칼라 적용하여 연산함
판다스 - 시리즈 다뤄보기(응용) 데이터 불러오기 Age 컬럼, 시리즈로 불러오기 불린 시리즈(Boolean Series) ages.mean() == 59.125 즉 59.125보다 큰가에 대한 답을 True or False로 리턴 1, 2, 3, 7행만 평균보다 큰 값 시리즈[불린 시리즈] 시리즈[불린 시리즈]형태로 넣으면 True였던 행만 출력 벡터 : 여러 개의 값을 가진 데이터 시리즈는 벡터의 한 종류 스칼라 : 단순 크기를 나타내는 데이터 같은 길이의 벡터 연산하기 벡터와 스칼라 연산 => 브로드캐스팅 다른 길이의 벡터간 연산 시리즈와 시리즈를 연산할 경우 같은 인덱스의 값만 계산 인덱스가 일치한 0, 1만 계산되며 나머지 인덱스는 누락값(NaN)으로 처리 위의 값은 ages + ages의 결과와 동일함 이유는 인덱스가 일치하는..
판다스 - 시리즈 다뤄보기 데이터프레임 생성 시리즈 선택 loc속성에 인덱스를 전달하면 시리즈 선택 가능 type으로 검사 결과 Series 확인 시리즈 속성과 메서드 사용하기 1. index 속성에는 시리즈의 인덱스가 들어있음 2. values 속성에는 시리즈의 데이터가 들어있음 3. keys 메서드는 index 속성과 같은 결과를 얻을 수 있음 인덱스의 첫번째 값 추출하는 방법, 다양하게 활용 가능함 정수형 시리즈, 기초 통계 메서드 사용하기 1. min : 최솟값 2. max : 최대값 3. std : 표준편차 4. mean : 평균값 4. describe를 이용해 동시에 살펴볼 수 있음 5. equals : 시리즈의 해당 값을 가진 요소가 있는지 확인 6. isin : 시리즈에 포함된 값이 있는지 확인