Pandas - 2
DataFrameとList、dict、カレンダの相互変換
import numpy as np
col_name1=['col1'] # 컬럼명
list1 = [1, 2, 3] # 1차원 리스트
array1 = np.array(list1) # 1차원 ndarray
print('array1 shape:', array1.shape )
df_list1 = pd.DataFrame(list1, columns=col_name1)
print('1차원 리스트로 만든 DataFrame:\n', df_list1)
df_array1 = pd.DataFrame(array1, columns=col_name1)
print('1차원 ndarray로 만든 DataFrame:\n', df_array1)
# 3개의 컬럼명이 필요 (3열 이므로)
col_name2=['col1', 'col2', 'col3']
# 2행x3열 형태의 리스트 생성
list2 = [[1, 2, 3],
[11, 12, 13]]
array2 = np.array(list2) # 2행x3열 형태의 ndarray 생성
print('array2 shape:', array2.shape )
df_list2 = pd.DataFrame(list2, columns=col_name2)
print('2차원 리스트로 만든 DataFrame:\n', df_list2)
df_array1 = pd.DataFrame(array2, columns=col_name2)
print('2차원 ndarray로 만든 DataFrame:\n', df_array1)
# Key는 컬럼명으로 매핑
# Value는 리스트 형(또는 ndarray)
dict = {'col1':[1, 11], 'col2':[2, 22], 'col3':[3, 33]}
df_dict = pd.DataFrame(dict)
print('딕셔너리로 만든 DataFrame:\n', df_dict)
DataFrame.values
# DataFrame을 ndarray로 변환
array3 = df_dict.values
print('df_dict.values 타입:', type(array3))
print('df_dict.values shape:', array3.shape)
print(array3)
DataFrame.tolist()
DataFrame.to_dict()
# DataFrame을 리스트로 변환
list3 = df_dict.values.tolist()
print('df_dict.values.tolist() 타입:', type(list3))
print(list3)
# DataFrame을 딕셔너리로 변환
dict3 = df_dict.to_dict('list')
print('\n df_dict.to_dict() 타입:', type(dict3))
print(dict3)
DataFrameのカラム・データセットへのアクセス
DataFrameデータの削除
drop()
DataFrame.drop(labels, axis=0, inplace=False)
Label:デフォルトでは含まれません
axis:デフォルトはaxis=0
inplace:default,inplace=false
inplace=True drop結果を
titanic_drop_df = titanic_df.drop('Age_0', axis=1 ) # default로 inplace = False
titanic_drop_df.head(3)
titanic_df.head(3)
# 여러개의 컬럼(열)을 한번에 삭제하려면 리스트 형태로 컬럼명 입력
drop_result = titanic_df.drop(['Age_0', 'Age_by_10', 'Family_No'], axis=1, inplace=True)
print(' inplace=True 로 drop 후 반환된 값:',drop_result) # None
titanic_df.head(3)
titanic_df = pd.read_csv('titanic_train.csv')
print('#### before axis 0 drop ####')
print(titanic_df.head(6))
titanic_df.drop([0,1,2], axis=0, inplace=True) # index가 0, 1, 2에 해당하는 행 삭제
print('#### after axis 0 drop ####')
print(titanic_df.head(3)) # reset_index() 하기 전까지는 기존 index를 유지
index
# 원본 파일 로딩
titanic_df = pd.read_csv('titanic_train.csv')
# Index 객체 추출
indexes = titanic_df.index
print(indexes)
# Index 객체를 실제 값 ndarrray로 변환
print('Index 객체 array값:\n',indexes.values)
print(type(indexes.values))
titanic_reset_df = titanic_df.reset_index(inplace=False)
titanic_reset_df1 = titanic_reset_df .rename(columns={'index':'old_index'})
titanic_reset_df1.head(3)
Reference
この問題について(Pandas - 2), 我々は、より多くの情報をここで見つけました https://velog.io/@bangsy/Pandas-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol