앞서 csv 파일을 read_csv()를 통해 데이터 프레임형태로 불러왔습니다.
DataFrame은 파이썬의 리스트, 딕셔너리, 넘파이 ndarray로 만들 수 있고, 반대로 파이썬의 리스트, 딕셔너리, 넘파이 ndarray로 변경할 수도 있습니다.
1. 리스트, 딕셔너리, 넘파이 ndarray -> DataFrame 만들기
import numby as np
col_name = ['col1']
list1 = [1,2,3]
array1 = np.array(list1)
# 리스트를 이용해 DataFrame 생성
df_list1 = pd.DataFrame(list1, columns=col_name)
# 넘파이 ndarray 이용하여 DataFrame 생성
df_array = pd.DataFrame(array1, colunms=col_name)
# 딕셔너리를 이용하여 DataFrame 생성
dict = {'col1':[1,2], 'col2':[3,4], 'col3':[5,6]}
df_dict = pd.DataFrame(dict)
- pd.DataFrame 을 통해 리스트와 넘파이 ndarray, 딕셔너리를 를 데이터 프레임 형태로 변경할 수 있습니다.
또한 1차원 형태이기 때문에 col_name 이 1개만 필요합니다.
2. DataFrame -> 리스트, 딕셔너리, 넘파이 ndarray 만들기
# DataFrame을 ndarray로 변환
array1 = df_dict.values
# DataFrame을 리스트로 변환
list1 = df_dict.values.tolist()
# DataFrame을 딕셔너리로 변한
dict1 = df_dict.to_dict('list')
- .values : 기본 데이터형으로 사용. values를 통해서 데이터 프레임의 데이터를 가지고 올 수 있음
- .tolist() : .values로 ndarray 형태의 데이터를 가져온 것을 list 형태로 변환시키는 함수
- .to_dict() : 딕셔너리로 변경할 수 있는 함수로 인자에 'list'를 입력하면 딕셔너리 값이 리스트형으로 반환됨
3. DataFrame의 칼럼 데이터 세트 생성과 수정
titanic_df['Age_0'] = 0
titanic_df['Age_0'] = titanic_df['Age']*10
- 'Age_0'이라는 칼럼을 만든 후 0으로 채움 -> 'Age'의 값의 10을 곱한 값을 넣을 수도 있음
titanic_df.drop('Age_0',axis = 1)
- .drop() : 삭제를 하기 위한 함수로, 삭제할 칼럼/로우를 인자로 작성하고 axis = 0 : 행, 1 : 열로 삭제할 수 있음
- inplace = True : 원본 데이터 프레임에 드롭된 결과를 바로 적용하고 싶으면 True, 아니면 False (디폴트값)
'머신러닝 in Python' 카테고리의 다른 글
판다스(Pandas) 정렬, Aggregation, groupby (0) | 2019.08.08 |
---|---|
판다스(pandas) 인덱스 (0) | 2019.08.08 |
판다스(Pandas) 기초 + 타이타닉 데이터 (0) | 2019.08.08 |
넘파이(NumPy) 정렬 (0) | 2019.08.07 |
넘파이(NumPy) 인덱싱(indexing) (0) | 2019.08.07 |