Python/데이터 분석23 [DataFrame] DataFrame - 누락데이터 처리하기, 삭제하기 누락데이타 값 삭제하기 - dropna() 데이터를 보면 값이 없는 경우가 있다. 이런 경우 missing value 가 있다고 한다. 데이타 분석을 본격적으로 하기 전에 Missing value 처리 전략을 세우는 것은 데이타 전처리 과정에서 매우 중요하다. 데이타를 받으면 비어있는 값들이 어떻게 분포되어 있는지를 반드시 확인해야 한다. 대표적인 처리전략 데이터가 거의 없는 feature 는 feature 자체를 DROP 데이터의 최소 개수를 정해서 DROP 최빈값, 평균값, 0 등의 값으로 비어있는 데이터를 채우기 fill() 판다스는 누락된 데이타를 모두 NaN으로 처리한다. 판다스 객체의 모든 통계는 누락된 데이타를 배제하고 처리한다. 누락데이타와 관련된 기능 dropna() : na이 하나라도 .. 2022. 4. 8. [DataFrame] DataFrame - 조회하기 Dataframe은 numpy에서 했던 슬라이싱 방법이 적용되지 않는다! loc는 locate의 줄임말이다. 인덱싱이랑 비슷한데 다른 기능이 있기에 loc라 부른다. tips[ 행 기준 슬라이싱, 열 기준 슬라이싱 ] -> 에러 발생 1. boolean 인덱싱으로 값 가져오기 condition1 = (tips['tip']>=2 ) condition2 = (tips['sex']=='Male') condition3 = (tips['size']==2) tips[condition1 & condition2 & condition3].head(3)['time'] tips[condition1 & condition2 & condition3]['time'].head(3) ''' 3 Dinner 6 Dinner 9 Dinn.. 2022. 4. 8. [DataFrame] DataFrame - 컬럼 다루기 & 컬럼명 변경 및 추가, 삭제하기 ◾ Column 다루기 DataFrame에 key 값으로 column의 이름을 지정하여 column을 선택할 수 있음 1개의 column을 가져올 수 있으며, 1개의 column 선택 시 Series가 옴 df2['python'] ''' a 59 b 11 c 35 d 68 Name: python, dtype: int32 ''' type(df2['python']) # pandas.core.series.Series 2개 이상의 column 선택은 팬시 인덱싱으로 가능! df2[['python', 'da']] ''' pythonda a 59 60 b 11 20 c 35 73 d 68 16 ''' ◾ 컬럼명 수정 columns원본이 바로 변경됨, 한꺼번에 전체 수정할 때 사용 rename원본변경 안됨, inpl.. 2022. 4. 2. [DataFrame] DataFrame - 정렬하기 sort_index() ⭐⭐⭐ sort_values(by=[’칼럼명’, ’칼럼명’], ascending=[True,False]) ⇒ 칼럼 기준 정렬 sort_index() 의 default는 오름차순 # default 오름차순 정렬 df3.sort_index().head() df3.sort_index(ascending=True).head() # 내림차순 정렬 df3.sort_index(ascending=False).head() # 동률 데이터 여러 개 df3.sort_values(by='tip').head() 동률의 경우 여러 개의 칼럼을 기준으로 정렬 총 지불 금액과 팁과의 연관 관계를 생각해서 1순위 tip, 2순위 total_bill 순서로 정렬 df3.sort_values(by=['tip', 't.. 2022. 4. 2. [DataFrame] DataFrame - 타입 변경 함수 ⭐ astype() : 타입 변경 후 재대입 필수 float형 → int 형으로 변환하면 소수점 아래 자리는 절삭 df3.info() ''' RangeIndex: 245 entries, 0 to 244 Data columns (total 7 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 total_bill 245 non-null float64 1 tip 244 non-null float64 2 sex 244 non-null object 3 smoker 244 non-null object 4 day 244 non-null object 5 time 244 non-null object 6 size 244 non-null fl.. 2022. 4. 2. [DataFrame] DataFrame - 조회 함수 head() - 앞에서 5개 조회 tail() - 뒤에서 5개 조회 head(10) - 앞에서 10개 조회 tail(10) - 뒤에서 10개 조회 df3.head() df3.tail() ⭐ describe() - 각 컬럼에 대한 요약 통계 제공 ⇒ Numeric한 칼럼에 대해서만 (day, time, sex 칼럼 제외) info() - 각 컬럼별 정보 확인 columns - 데이터프레임을 구성하는 컬럼명 확인 value_counts(subset=['칼럼명1', '칼럼명2']) : 칼럼 별 동일한 데이터 개수(빈도수) ⇒ sql의 groupby와 유사 df3.describe() 245 / 244(nan 값으로 1개 줄어들게 나옴) describe는 숫자형 칼럼에 대해서만 추출하기 때문에 include 속성.. 2022. 4. 2. 이전 1 2 3 4 다음