Sun.El Data Analysis

[판다스] 데이터프레임 행/열 추가 삭제 본문

Pandas

[판다스] 데이터프레임 행/열 추가 삭제

Sun.El 2023. 7. 15. 23:03
728x90
df = pd.DataFrame({'fruits':['사과','복숭아','바나나','오렌지','포도'],
                                 'animal':['강아지','병아리',np.nan,'팬더','고양이'],
                                 'hobby':['독서','게임','달리기',np.nan,np.nan],
                                 'color':['green','red','purple','yellow','pink']})

 

입력 자료

1. 행/열 삭제 : drop

#---['색깔'] 칼럼 삭제
df1 = df.drop(['색깔'], axis=1)
df1 = df.drop(['색깔'], axis='columns')
df1 = df.drop(df.columns[3], axis='columns') #---df.columns[3] : '색깔'

 

실행 결과

#---['첫번째'] 로우 삭제
df1 = df.drop(['첫번째'], axis=0) 
df1 = df.drop(df.index[0], axis=0) #---df.index[0] : '첫번째'

실행 결과

#---['과일','색깔'] 칼럼 삭제
df1 = df.drop(['과일','색깔'], axis=1)
df.drop([df.columns[0],df.columns[3]], axis=1)

실행 결과

#---['첫번째','세번째'] 로우 삭제
df1 = df.drop(['첫번째','세번째'], axis=0)
df1 = df.drop([df.index[0],df.index[2]], axis=0)

실행 결과

 

2. 열 추가

#---df['새로운칼럼명'] 열 추가
df['초밥'] = '초밥'
add_food = ['연어','광어','우럭','새우','장어']
df['초밥'] = add_food

df['초밥'] = ['연어','광어','우럭','새우','장어']

#---df.loc을 통해 열 추가하 
df.loc[:,'과목'] = ['지구과학','물리','수학','영어','미술']

 

 

#---df.insert(위치 번호, 열 이름, 원소 리스트) 
df.insert(2,'과목',['지구과학','물리','수학','영어','미술'])

 

실행 결과

 

3. 행 추가

#-----df.loc을 이용한 행 추가
df.loc['여섯번째'] = ['수박', '돌고래', '수영', 'white', '고등어']

실행 결과

#---append를 통한 열 추가
add_row = pd.DataFrame({'과일':['자두'],'동물':['레서판다'], '취미':['노래'],'색깔':['black'],'초밥':['유부']}, index=['일곱번째'])
df1 = df.append(add_row, ignore_index = False) #---ignore_index = False 기본값 (index 기존 유지, index reset시 True)

 

실행 결과

#---pd.concat을 통한 행 추가
df1 = pd.concat([df, add_row], ignore_index = False) #---ignore_index = False 기본값

 

실행 결과

#---pd.concat을 통한 행 추가(중간 행에 추가)
df1 = pd.concat([df.iloc[:3], add_row, df.iloc[3:]])

 

실행 결과