판다스 모듈 데이터 프레임을 사용할때 가장 중요한게 읽은 데이터를 적절하게 가공하는것이다 !
class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=None)
이번 글에서 테스트할 엑셀 데이터 구조는 다음과 같다
(위 데이터 생성은 crean python API 를 이용하여 삼성전자 일별 데이터 정보를 엑셀로 저장한것이다 )
※ 판다스 데이터 프레임에서 "drop" 멤버 함수를 이용하여 내부 데이터를 삭제할 수있다 이때 인자값으로 axis 값이 사용되며, 0 은 열 (세로축) 1은 행 (가로축)을 지정한다
- 특정 행,열 데이터 제거 주요 호출 함수
기본원형
DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
ex ) DataFrame.drop( 0 ,axis = 0 or 1 ) # 0번 행 or 열 삭제
ex ) DataFrame.drop( labels = range[0,2] ,axis = 0 or 1 ) # 0 ~ 1 번 행 or 열 삭제
ex ) DataFrame.drop( [4,5] ,axis = 0 or 1 ) # 4,5 로 명시된 칼럼 번 행 or 열 삭제
- 특정 행 데이터 제거 example
import pandas as pd
df1 = pd.read_excel('./samsung.xlsx', sheet_name='dage')
print(df1)
print("shape : {}".format( df1.shape) )
new_df1 = df1.drop(0, axis = 0) # 0번 행 데이터 삭제
print(new_df1)
# Unnamed: 0 날짜 시가 고가 저가 종가 거래량
# 1 1 20230120 62100 62300 61100 61800 9646327. --> 삭제되서 1번부터 보임
# 2 2 20230125 63500 63700 63000 63400 16822710
# 3 3 20230126 63800 63900 63300 63900 13278277
# 4 4 20230127 64400 65000 63900 64600 18760182
# 5 5 20230130 64900 64900 63100 63300 20995234
# .. ... ... ... ... ... ... ...
new_df2 = df1.drop(labels=range(0, 2), axis = 0) # 0~ 1번 행 데이터 삭제
print(new_df2)
# Unnamed: 0 날짜 시가 고가 저가 종가 거래량
# 2 2 20230125 63500 63700 63000 63400 16822710. --> 삭제되서 2번부터 보임
# 3 3 20230126 63800 63900 63300 63900 13278277
# 4 4 20230127 64400 65000 63900 64600 18760182
# 5 5 20230130 64900 64900 63100 63300 20995234
# 6 6 20230131 63500 63700 61000 61000 29746731
new_df3 = df1.drop([4,5], axis=0)
print(new_df3)
# Unnamed: 0 날짜 시가 고가 저가 종가 거래량
# 0 0 20230119 60500 61500 60400 61500 12808490
# 1 1 20230120 62100 62300 61100 61800 9646327
# 2 2 20230125 63500 63700 63000 63400 16822710
# 3 3 20230126 63800 63900 63300 63900 13278277. --> 4,5 행 삭제
# 6 6 20230131 63500 63700 61000 61000 29746731
- 특정 열 데이터 제거 예제
import pandas as pd
df1 = pd.read_excel('./samsung.xlsx', sheet_name='dage')
print(df1)
print(df1.columns)
# -> Index(['Unnamed: 0', '날짜', '시가', '고가', '저가', '종가', '거래량'], dtype='object')
print("shape : {}".format( df1.shape) )
new_df1 = df1.drop(df1.columns[[0,1]], axis = 1) # 0,1 번 칼럼 열 삭제
print(new_df1)
# 시가 고가 저가 종가 거래량. --> unamed , 날짜 열 삭제
# 0 60500 61500 60400 61500 12808490
# 1 62100 62300 61100 61800 9646327
# 2 63500 63700 63000 63400 16822710
# 3 63800 63900 63300 63900 13278277
# 4 64400 65000 63900 64600 18760182
# .. ... ... ... ... ...
new_df3 = df1.drop(['Unnamed: 0','날짜','시가','고가','저가','거래량'], axis=1)
print(new_df3)
# 종가. --> 종가랑 인덱스만 남김
# 0 61500
# 1 61800
# 2 63400
# 3 63900
# 4 64600
# .. ...
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.drop.html
728x90
'programming > python' 카테고리의 다른 글
python3 - 파일 경로, 확장자 처리 (0) | 2023.06.19 |
---|---|
python3 - 판다스 - 데이터프레임 (basic) (0) | 2023.06.14 |
python3 with Slack - basic (0) | 2023.06.06 |
python3 - 크롤러 (cloudscraper) (2) | 2023.06.03 |
python - schedule(스케쥴) (0) | 2023.05.29 |