반응형
09. 판다스 데이터프레임(DataFrame) 행,열의 추가/삭제 방법 (column, row add, drop)
1) 기본 코드
import pandas as pd
data = [['B00232', '새우깡', '2022-11-01', 1600],
['B03215', '양파링', '2023-01-31', 1200],
['B12098', '계란과자', '2022-06-03', 1400]]
columns = ['바코드', '제품명', '유통기한', '판매가']
df = pd.DataFrame(data=data, columns=columns)
df = df.set_index('바코드')
print(df)
반응형
2) 실행 결과
df['판매점'] = ['인천점', '수원점', '인천점']
print(df)
제품명 유통기한 판매가 판매점
바코드
B00232 새우깡 2022-11-01 1600 인천점
B03215 양파링 2023-01-31 1200 수원점
B12098 계란과자 2022-06-03 1400 인천점
- ['판매점']열을 추가
- 순서에 맞춰서 ['인천점', '수원점', '인천점']가 입력됨
add_data2 = [['썬칩', '2022-08-25', 1100, '제주점']]
col2 = ['제품명', '유통기한', '판매가','판매점']
s = pd.DataFrame(data=add_data2, index=['B22456'], columns=col2)
df2 = pd.concat([s,df],axis=0)
print(df2)
제품명 유통기한 판매가 판매점
B22456 썬칩 2022-08-25 1100 제주점
B00232 새우깡 2022-11-01 1600 인천점
B03215 양파링 2023-01-31 1200 수원점
B12098 계란과자 2022-06-03 1400 인천점
- 하나의 데이터 프레임을 만들어 행을 추가하는 방법
- concat을 이용하여 두개의 데이터 프레임을 합침
- concat([데이터프레임1, 데이터프레임2....], axis=0,1..)
- 데이터 프레임은 1개가 들어가더라도 리스트 형식으로 넣어야 함
- axis=0은 행으로 데이터를 넣고(위아래로 붙이기) axis=1은 열로 데이터를 넣음(옆으로 붙이기)
- append가 아닌 concat사용 이유
- 단순하게 현재 데이터 프레임(df)에 append(s)를 해도 이상없이 추가가 됨
- 하지만 아래의 경고처럼 추후에 기능이 삭제될 예정
- FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.
- concat([데이터프레임1, 데이터프레임2....], axis=0,1..)
add_data3 = [['썬칩', '2022-08-25', 1100, '제주점']]
col3 = ['제품명', '유통기한', '판매가','판매점']
s = pd.DataFrame(data=add_data3, index=['B22456'], columns=col3)
df3 = df.append(s)
print(df3)
제품명 유통기한 판매가 판매점
B00232 새우깡 2022-11-01 1600 인천점
B03215 양파링 2023-01-31 1200 수원점
B12098 계란과자 2022-06-03 1400 인천점
B22456 썬칩 2022-08-25 1100 제주점
C:\Users\Lee\AppData\Local\Temp\ipykernel_2832\2065307237.py:5: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.
df3 = df.append(s)
print(df.drop(['유통기한'], axis=1))
제품명 판매가 판매점
바코드
B00232 새우깡 1600 인천점
B03215 양파링 1200 수원점
B12098 계란과자 1400 인천점
- Series와 마찬가지로 drop을 이용하여 특정 데이터 제외
- Series와 마찬가지로 원본 데이터에서 데이터가 삭제되는 것은 아님
- axis=1로 컬럼 전체를 삭제
print(df.drop(['B00232', 'B12098'], axis=0))
제품명 유통기한 판매가 판매점
바코드
B03215 양파링 2023-01-31 1200 수원점
- Series와 마찬가지로 drop을 이용하여 특정 데이터 제외
- Series와 마찬가지로 원본 데이터에서 데이터가 삭제되는 것은 아님
- axis=0으로 로우 전체를 삭제
반응형
'Phython > Python Pandas' 카테고리의 다른 글
11. 판다스 데이터프레임(DataFrame) 데이터 타입 변경 (0) | 2022.02.05 |
---|---|
10. 판다스 데이터프레임(DataFrame) 컬럼 이름, 인덱스 이름 바꾸기 (0) | 2022.02.04 |
08. 판다스 데이터프레임(Pandas DataFrame) 범위 데이터 사용하기 (0) | 2022.02.04 |
07. 판다스 데이터프레임(DataFrame) row, column 데이터 출력 방법 (0) | 2022.02.03 |
06. 판다스 데이터프레임(Pandas DataFrame) 만드는 3가지 방법 (0) | 2022.02.03 |