본문 바로가기

머신러닝 공부

Pandas(판다스) - DataFrame

SMALL

DataFrame과 리스트, 딕셔너리, 넘파이 ndarray 상호 변환

 

ndarray하고 DataFrame하고의 가장 큰 차이는 바로 column명이 있는지 없는지입니다.

변환 형태 설명
리스트(list)를 DataFrame으로 변환 df_list1 = pd.DataFrame(list, columns=col_name1)
와 같이 DataFrame생성 인자로 리스트 객체와 매핑되는 컬럼명들을 입력
ndarray를 DataFrame으로 변환 df_array2 = pd.DataFrame(array2, columns = col_name2)
와 같이 DataFrame 생성 인자로 ndarray와 매핑되는 컬럼명들을 입력
딕셔너리(dict)를 DataFrame으로 변환 dict = {'col' : [1:11], 'col2':[2:22], 'col3':[3,33]}
df_dict = pd.DataFrame(dict)
와 같이 딕셔너리의 키(Key)로 컬럼명을 값(Value)를 리스트 형식으로 입력
DataFrame을 ndarray로 변환 DataFrame 객체의 values 속성을 이용하여 ndarray 변환
DataFrame을 리스트로 변환 DataFrame 객체의 values 속성을 이용하여 먼저 ndarray로 변환 후 tolist()를 이용하여 list로 변환
DataFrame을 딕셔너리로 변환 DataFrame 객체의 to_dict()를 이용하여 변환

DataFrame으로 변환할때 column명을 쓸때는 무조건 리스트형태로 인자를 넣어주어야 합니다.

 

 

DataFrame의 column 데이터 세트 생성 및 수정

titanic dataset에서 칼럼 데이터를 추가하고 싶으면 titanic_df['컬럼명']=0을 하면 됩니다.

이때 0은 key값을 의미합니다.

 

DataFrame 데이터 삭제

DAataFrame의 drop()은 컬럼도 삭제할 수 있고, 로우도 삭제할 수 있습니다. 

이 두개의 차이점은 axis를 통해서 구분합니다. axis=0일 때는 로우를 사제, 컬럼을 삭제할때는 axis=1로 설정합니다.

원본 DataFrame은 유지하고 드롭된 DataFrame을 새로운 객체 변수로 받고 싶다면 inplace=False로 설정합니다. (디폴트 값이 False 입니다.)

ex: titanic_drop_df = titanic_df.drop('Age_0', axis = 1, inplace = False)

 

단, 원본 DataFrame에 드롭된 결과를 적용할 경우에는 inplace = True로 적용시킵니다.

ex: titanic_df.drop('Age_0',axis=1,inplace=True)

 

그래서 보통 원본 DataFrame에서 드롭된 DataFrame을 다시 원본 DataFrame 객체 변수로 할당할 시 원본 DataFrame 에서 드롭된 결과를 적용할 경우와 같습니다. (단, 기존 원본 DataFrame 객체 변수는 메모리에서 추후 제거됩니다.)

ex: titanic_df = titanic_df.drop('Age=0',axis=1,inplace=False)

DataFrame drop 전
DataFrame drop 이후

 

LIST

'머신러닝 공부' 카테고리의 다른 글

Scikit-Learn (사이킷런)  (0) 2023.02.05
Pandas (판다스) - Index  (0) 2023.02.04
Pandas(판다스) - value_counts method  (0) 2023.02.03
판다스(pandas) - 기본 API (2)  (0) 2023.02.03
판다스(Pandas)와 기본 API (1)  (0) 2023.02.03