[파이썬] #12 - pandas 다루기 - 엑셀
[파이썬] #12 - pandas 다루기 - 엑셀
엑셀 모듈 설치
# pip install xlrd xlwt
# pip install openpyxl
#pandas 모듈을 활용한 엑셀 파일 로딩처리
#pandas 모듈의 read_excel 함수
#read_excel(엑셀파일명, sheetname='읽어올 sheet이름')
# -sheetname 생략할경우 첫번째 시트를 선택
# - header 매개변수로 수정가능.
# - nrows 몇개의 row를 가지고올지지정
# - index_col 인덱스번호설정
# - isin 메소드 사용
#pandas DataFrame 의 iloc 메소드
#iloc[행의정보(시작인덱스:종료인덱스), [열의정보]]
# pip install xlrd xlwt
# pip install openpyxl
#pandas 모듈을 활용한 엑셀 파일 로딩처리
#pandas 모듈의 read_excel 함수
#read_excel(엑셀파일명, sheetname='읽어올 sheet이름')
# -sheetname 생략할경우 첫번째 시트를 선택
# - header 매개변수로 수정가능.
# - nrows 몇개의 row를 가지고올지지정
# - index_col 인덱스번호설정
# - isin 메소드 사용
#pandas DataFrame 의 iloc 메소드
#iloc[행의정보(시작인덱스:종료인덱스), [열의정보]]
# -*- coding: utf-8 -*-
"""
Created on Tue Dec 10 19:39:07 2019
# 엑셀 파일 Read, Write 모듈 설치(파이썬)
# pip install xlrd xlwt
# pip install openpyxl
아나콘다에서 설치할때
#conda install xlrd xlwt
#conda install openpyxl
"""
import pandas as pd
input_file = './data/sales_2013.xlsx'
#pandas 모듈을 활용한 엑셀 파일 로딩처리
#pandas 모듈의 read_excel 함수
#read_excel(엑셀파일명, sheetname='읽어올 sheet이름')
# -sheetname 생략할경우 첫번째 시트를 선택
sales = pd.read_excel(input_file)
print(sales)
print(sales.info())
#DataFrame 저장된 정보를 엑셀파일로 출력
output_file = './data/sales_2013_temp.xlsx'
#엑셀파일로 출력할수 있는 객체 생성
writer = pd.ExcelWriter(output_file) #출력객체
sales.to_excel(writer, sheet_name='1st Sheet')
# 파일저장
writer.save()
# -*- coding: utf-8 -*-
"""
Created on Tue Dec 10 19:52:11 2019
"""
import pandas as pd
fname = './data/sales_2013.xlsx'
#read_excel 메소드 header 부분이 다른경우
# - header 매개변수로 수정가능.
# - nrows 몇개의 row를 가지고올지지정
# -index_col 인덱스번호설정
sales = pd.read_excel(fname,
sheet_name= 'january_2013',
header=3,
#nrows=3,
index_col=0)
print(sales)
#sale amount 더하기
print( sales['Sale Amount'].describe() )
total = sales['Sale Amount'].sum() #합계
avg = sales['Sale Amount'].mean() #평균
print(f"총합 : {total}, 평균 : {avg}")
#sale amount 컬럼의 값이 sale Amount 의 평균 이상인 데이터만 출력
print(sales[sales['Sale Amount'] >= avg])
# -*- coding: utf-8 -*-
"""
Created on Tue Dec 10 19:59:18 2019
"""
import pandas as pd
fname = './data/sales_2013.xlsx'
sales = pd.read_excel(fname,
sheet_name= 'january_2013',
header=3,
#nrows=3,
index_col=0)
print(sales)
print(sales.info())
# Purchase Date 컬럼의 값이 2013-01-01, 2013-01-31 데이터출력
# - isin 메소드 사용
dates = ['2013-01-01','2013-01-31']
result = sales[sales['Purchase Date'].isin(dates)]
print(result)
print( sales[(sales['Purchase Date']=='2013-01-01') | (sales['Purchase Date']=='2013-01-31') ] )
"""
Created on Tue Dec 10 20:34:25 2019
iloc 활용하기
"""
import pandas as pd
fname = './data/sales_2013.xlsx'
sales = pd.read_excel(fname,
sheet_name= 'january_2013',
header=3,
#nrows=3,
index_col=0)
print(sales)
print(sales.info())
#customer Name 컬럼의 값이 J로 시작되는 정보만출력
# - str 속성을 사용 (Series 의 값으로 불러오기때문에 변환필요.)
print(sales[sales['Customer Name'].str[0] == 'J'])
#원하는 컬럼만 가져오기
print(sales[['Invoice Number', 'Sale Amount', 'Purchase Date']])
#pandas DataFrame 의 iloc 메소드
#iloc[행의정보(시작인덱스:종료인덱스), [열의정보]]
print(sales.iloc[0:2]) #행만 가지고 오는경우
print(sales.iloc[:, 2:]) #열을 가지고 오는경우
#연속되지 않은 열의 정보를 가지고오는경우
print(sales.iloc[:, [0,2,3]])
댓글
댓글 쓰기