pandas 连接数据库直接查表建立dataframe。loc,sort_values数据清洗操作

Python操作MySQL与数据分析
本文介绍如何使用Python的pandas库结合SQLAlchemy连接MySQL数据库,执行SQL查询并进行数据分析,包括读取数据、排序、筛选及计算平均值等操作。

 

 

#导入pandas
import pandas as pd
import numpy as np

#导入SqlAlchemy
from sqlalchemy import create_engine

if __name__ == "__main__":
    #建立数据库引擎
    engine = create_engine('mysql+pymysql://root:mysql@localhost:3306/mymac')
    #写一条sql
    sql = 'select id,name,age,gender from student'
    #建立dataframe
    df = pd.read_sql_query(sql,engine)
    # print(df)
    #按照年龄倒序    正序:ascending=True
    #翻译为sql  select * from student order by asc | desc
    # df = df.sort_values(['age','gender'],ascending=False)
    # print(df)

    #取年龄最小的学生  在尾部取值
    #翻译为sql select * from student order by age limit 1
    # df = df.sort_values(['age']).tail(1)
    # print(df)
    
    #求整个班的平均年龄 
    avg_age= df.age.mean()
    #使用loc方法指定字段
    print(df.loc[(df['age']<avg_age ) & df['gender']==1])

    #获取指定字段
    # print(df.loc[df['gender']==1,['id','name']])
                                      

    #将dataframe写入数据表,表名,数据引擎,索引是否入库
    # df.to_sql('student_copy',engine,index=False)
    
    #前提要安装好 openpyxl   安装命令 pip install openpyxl
    #导入成excel文件
    # df.to_excel('student.xlsx')

    # print(Student.objects.all())

 

转载于:https://www.cnblogs.com/Niuxingyu/p/10482314.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值