앞서 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 (디폴트값)

 

 

 

+ Recent posts