>데이터 베이스 >MySQL 튜토리얼 >SQL 쿼리 결과를 Pandas DataFrame으로 효율적으로 변환하려면 어떻게 해야 합니까?

SQL 쿼리 결과를 Pandas DataFrame으로 효율적으로 변환하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-05 22:59:14293검색

How Do I Efficiently Convert SQL Query Results into a Pandas DataFrame?

SQL 쿼리 결과를 Pandas 데이터 구조로 변환

문제:

사용자에게 도움이 필요함 SQL 쿼리 결과를 Pandas 데이터 구조로 변환합니다. 사용자가 쿼리 결과를 인쇄하려고 시도했지만 유용한 정보를 얻지 못했습니다.

해결책:

SQL 쿼리 결과를 Pandas로 변환하려면 다음 단계를 수행할 수 있습니다.

  1. SQLAlchemy의 create_engine() 및 connect()를 사용하여 데이터베이스에 대한 연결 설정
  2. connection.execute() 메서드를 사용하여 SQL 쿼리를 실행하고 결과를 변수(예: resoverall)에 저장합니다.
  3. resoverall을 사용하여 쿼리 결과에서 모든 행을 가져옵니다. fetchall() 메소드. 그러면 각 튜플이 행을 나타내는 튜플 목록이 반환됩니다.
  4. 튜플 목록에서 Pandas DataFrame을 만듭니다. 이렇게 하려면 튜플 인덱스를 기반으로 열 이름을 자동으로 할당하는 DataFrame(resoverall.fetchall())을 사용하세요.
  5. 선택적으로 df.columns = resoverall.keys()를 사용하여 특정 열 이름을 할당할 수 있습니다. 여기서 resoverall.keys()는 열 이름 목록을 반환합니다.

예 코드:

from sqlalchemy import create_engine
from pandas import DataFrame

engine2 = create_engine('mysql://THE DATABASE I AM ACCESSING')
connection2 = engine2.connect()
dataid = 1022
resoverall = connection2.execute("SELECT sum(BLABLA) AS BLA, sum(BLABLABLA2) AS BLABLABLA2, sum(SOME_INT) AS SOME_INT, sum(SOME_INT2) AS SOME_INT2, 100*sum(SOME_INT2)/sum(SOME_INT) AS ctr, sum(SOME_INT2)/sum(SOME_INT) AS cpc FROM daily_report_cooked WHERE campaign_id = '%s'", %dataid)
df = DataFrame(resoverall.fetchall())
df.columns = resoverall.keys()

위 내용은 SQL 쿼리 결과를 Pandas DataFrame으로 효율적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.