pandas 连接数据库直接查表建立dataframe。loc,sort_values数据清洗操作
2024-10-19 08:45:13
#导入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())
最新文章
- urlencode
- Java多线程基本概念
- centos常用命令
- Connection to DB
- 模仿Word中组织结构图的特点生成流程图
- poj1190生日蛋糕
- 卸载Visual Studio Code后删除右键Open with Code&hellip;
- Android---53---多线程下载
- TCP/IP中你不得不知的十大秘密
- Day9 进程同步锁 进程队列 进程池 生产消费模型 进程池 paramike模块
- What a Ridiculous Election UVALive - 7672 (BFS)
- kdtree HDU5992
- Duplicate 复制数据库 搭建Dataguard
- docker参数注解
- Codeforces 729E Subordinates
- Redis注意事项
- 手把手教你实现自己的abp代码生成器
- java实验项目报告
- BZOJ4517:[SDOI2016]排列计数(组合数学,错排公式)
- Ld, -rpath, -rpath-link
热门文章
- Spring boot+ logback环境下,日志存放路径未定义的问题
- 【转】Java基础——容器分类
- jquery的show()和hide()方法
- lr分布式测试--笔记
- 开发中遇到的css兼容问题
- undefined reference to `cv::VideoCapture
- Fourier Transform Complex Conjugate Discussion
- HTML5-canvas-基础篇
- luogu P1816 【忠诚】
- Paths on a Grid POJ - 1942 组合数学 (组合数的快速计算)