pandas 실현 to데이터베이스 에 DataFrame 저장

목적.
데이터 분석 을 할 때 우 리 는 중간 결과 나 최종 결과 가 있 으 므 로 데이터베이스 에 저장 해 야 한다.또는 저 희 는 중간 결과 가 있 습 니 다.데이터베이스 에 넣 으 면 sql 작업 을 통 해 더욱 직관 적 이 고 처리 한 후에 결 과 를 DataFrame 에 읽 을 수 있 습 니 다.이 두 장면 은 DataFrame 의 to 를 사용 해 야 합 니 다.sql 작업.
구체 적 인 조작
데이터베이스 코드 연결

import pandas as pd
from sqlalchemy import create_engine
# default
engine = create_engine('mysql+pymysql://ledao:ledao123@localhost/pandas_learn')
original_data = pd.read_sql_table('cellfee', engine)
original_data
결 과 는 다음 과 같다.

데 이 터 를 모 아 각 동네 의 전기 요금 을 Series 에 요구 하고 넣 은 다음 에 모든 동네 의 총 전기 요금 을 DataFrame 에 넣 고 마지막 으로 DataFrame 을 데이터베이스 에 저장 합 니 다.코드 는 다음 과 같 습 니 다.

all_cells = []
for k, v in original_data.groupby(by=['cityid', 'cellid']):
onecell = pd.Series(data=[k[0], k[1], v['fee'].sum()], index=['cityid', 'cellid', 'fee_sum'])
all_cells.append(onecell)
all_cells = pd.DataFrame(all_cells)
all_cells.to_sql(name='cells_fee', con=engine, chunksize=1000, if_exists='replace', index=None)
DataFrame 에 대한 tosql 함수,주의해 야 할 매개 변 수 는 코드 에 이미 쓰 여 있 습 니 다.그 중에서 가장 중요 한 것 은 chunksize,if 입 니 다.exists 와 index.
chunksize 는 입고 크기 를 한 번 설정 할 수 있 습 니 다.if_exists 설정 데이터베이스 에 같은 이름 의 표 가 존재 하면 어떻게 합 니까?'replace'는 표 의 원래 데 이 터 를 삭제 하여 현재 데이터 에 넣 는 것 을 표시 합 니 다.'append'는 추 가 를 나타 낸다.'fail'은 이상 을 던 지고 작업 을 끝 냅 니 다.기본 값 은'fail'입 니 다.index=boolean 값 을 받 아들 여 DataFrame 의 index 도 표 의 열 로 저장 할 지 여 부 를 표시 합 니 다.
최종 저장 표 의 결 과 는 다음 그림 과 같다.

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기