본문 바로가기
카테고리 없음

4. 머신러닝을 위한 판다스(Pandas) - 2 - 데이터 다루기, 엑셀 다루기

by 으노으뇨 2023. 9. 13.
728x90
반응형
SMALL

판다스(Pandas) 데이터 다루기

데이터 삽입 / 삭제
구분 예시소스
삽입 데이터프레임.append( 행데이터, ignore_index=True)
데이터프레임.loc[행이름]=[행 데이터]
 데이터프레임.iloc[index]=[행 데이터]
삭제 원본 보존하여
데이터 삭제
행삭제 변수 = 데이터프레임.drop(index,axis=0 )
#해당 인덱스를 갖는 행삭제. axis의 기본값은 0
열삭제 변수 = 데이터프레임.drop([‘열이름’],axis=1 )
#해당 인덱스를 갖는 열삭제. axis의 기본값은 0
원본 바꿀
경우
데이터프레임.drop(index,axis=0,inplace=True)

파일을 통한 데이터 입출력
동작 코드예시 설명 비고
파일읽기 pandas.read_csv(‘파일명’) 파일이 excel일 경우
pandas.read_excel(‘파일명’)
− pip install xlrd / 또는 pip install openpyxl 설치 필요
− xlrd install 시 .xls 파일만 가능
파일쓰기 데이터프레임명.to_csv(‘파일명’, sep=‘구분자’) 구분자 : “,” “\t” “ “ …  

파일 입출력 예시

1. 엑셀 생성하기

from openpyxl import Workbook
ff = Workbook() # 엑셀파일 쓰기
ss = ff.create_sheet('시트이름') # 시트를 생성
ss = ff.active
ss['A1'] = 'number' # Sheet1에다 입력
ss.append([1,2,3]) #행 단위로 추가
ss.cell(1,2, 'Hello World') #셀 단위로 추가
ff.save("D:/ect/pythonTest/testExcel.xlsx") # 파일명 저장

실행후 생성된 파일
입력한 값들이 정상적으로 들어온 모습

2. 작성된 엑셀파일 값 불러오기

from openpyxl import load_workbook
# data_only=True로 해줘야 수식이 아닌 값으로 받아옴.
load_ff= load_workbook("D:/ect/pythonTest/testExcel.xlsx", data_only=True)
load_ss = load_ff['Sheet'] # 시트 이름으로 불러오기
print(load_ss['B2'].value) # 셀 주소로 값 출력
print(load_ss.cell(3, 2).value) # 셀 좌표로 값 출력
cc= load_ss['B1' : 'B6'] # 지정한 셀의 값 출력
for row in cc:
    for cell in row:
        print(cell.value)

데이터를 좀더 입력해준 모습
실행한 모습

3. 동적으로 모든 엑셀 데이터 나타내기

from openpyxl import load_workbook
# data_only=True로 해줘야 수식이 아닌 값으로 받아옴.
load_ff = load_workbook("D:/ect/pythonTest/testExcel.xlsx", data_only=True)
load_ss = load_ff['Sheet']  # 시트 이름으로 불러오기
all_values = []  # 모든 행과 열 출력
for row in load_ss.rows:
    row_value = []
    for cell in row:
        row_value.append(cell.value)
    all_values.append(row_value)
print(all_values)

나타난 모습

4. 파일을 불러와 새로 데이터 입력하여 다른 이름으로 저장하기

from openpyxl import load_workbook
# data_only=True로 해줘야 수식이 아닌 값으로 받아옴.
load_ff= load_workbook("D:/ect/pythonTest/testExcel.xlsx", data_only=True)
load_ss = load_ff['Sheet'] # 시트 이름으로 불러오기
load_ss.cell(1, 3, 'height')
load_ss.cell(2, 3, 60)
load_ss.cell(3, 3, 65)
load_ss.cell(4, 3, 70)
load_ss.cell(5, 3, 75)
load_ff.save("D:/ect/pythonTest/testExcel2.xlsx")

파일이 새로 생성된 모습
사실 몸무게로 해야하는데 지금보니 키로 했네요 여튼 변경된 모습

 

728x90
반응형
LIST

댓글