import pandas as pd
import numpy as np
from sqlalchemy import create_engine
#建立数据库引擎
engine = create_engine('mysql+pymysql://root:mysql@127.0.0.1:3306/mymac')
sql = 'select * from student'
#建立dataframe对象
df = pd.read_sql_query(sql,engine)
print(df)
#按照年龄正序
# select * from student order by age asc |desc
df = df.sort_values(['age','height'],ascending=False)
print(df)
#取年龄最小的学生
# select * from student order by age limit 1
dd = df.sort_values(['age']).head(1)
print(dd)
#求整个班的平均年龄 使用loc方法指定字段
#select * from student where gender = 0 and age < (select avg(age) from student gender=0)
avg_age = df.loc[df['gender'] == 0].age.mean()
print(df.loc[(df['age']< avg_age) & (df['gender'] == 0)].head(1))
#全班的平均年龄
print(df.age.mean())
#全班的年龄求和
print(df.age.sum())
#取男生的年龄求和
print(df.loc[df['gender'] == 1].age.sum())
#获取指定字段
print(df.loc[ df['gender'] == 1,['id','name']])
#取全部年龄最小 min 最大max
print(df.age.min())
#或者 |
print(df.loc[(df['gender']==0) | (df['gender'] == 1)])
#全班多少人
print(df.id.count())
#排除法
print(df.loc[(df['gender'] != 0) & (df['gender'] != 1)])
#修改操作
df.loc[1,'gender'] = 1
df.loc[4,'age'] = 19
print(df)
#取单值
print(df.loc[2,'name']) # 将datafram写入数据表 表名,数据引擎,数据是否入库 (不建议使用,因为键的表字段类型约束等需调整)
# 需安装openpyxl库
# df.to_sql('student_copy',engine,index=False)
#到出excel文件
# df.to_excel('student.xlsx',index=False)

pandas与sqlalchemy交互实现科学计算的更多相关文章

  1. 创建pandas和sqlalchemy的j交互对象,方便于日常的数据库的增删改查(原创)

    #导入第三方库sqlalchemy的数据库引擎 from sqlalchemy import create_engine #导入科学计算库 import pandas as pd #导入绘图库 imp ...

  2. 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题

    动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...

  3. Python科学计算之Pandas

    Reference: http://mp.weixin.qq.com/s?src=3&timestamp=1474979163&ver=1&signature=wnZn1UtW ...

  4. 利用pandas对numpy数组进行简单的科学计算

    二维数组转换为DataFrame pandas可直接进行科学计算形式: import numpy as np import pandas as pd a = [1,2,3] b = [4,5,6] # ...

  5. (转)Python科学计算之Pandas详解,pythonpandas

    https://www.cnblogs.com/linux-wangkun/p/5903380.html-------pandas 学习(1): pandas 数据结构之Series https:// ...

  6. 推荐:python科学计算pandas/python画图库matplotlib【转】

    机器学习基础3--python科学计算pandas(上) 地址:https://wangyeming.github.io/2018/09/04/marchine-learning-base-panda ...

  7. Python_科学计算平台__pypi体系的numpy、scipy、pandas、matplotlib库简介

    1.numpy--基础,以矩阵为基础的数学计算模块,纯数学 存储和处理大型矩阵. 这个是很基础的扩展,其余的扩展都是以此为基础. 快速学习入口 https://docs.scipy.org/doc/n ...

  8. 科学计算三维可视化---Mlab基础(鼠标选取交互操作)

    一:鼠标选取介绍 二:选取红色小球分析 相关方法:科学计算三维可视化---Mlab基础(基于Numpy数组的绘图函数) 1.小球场景初始化建立 import numpy as np from maya ...

  9. Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱(转)

    原文:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开 ...

随机推荐

  1. Java设计模式六大原则

    一.单一职责原则 单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小.单一职责原则定义如下: 单一职责原则(Single Responsibility Principle, SRP):一个 ...

  2. buildroot 编译问题

    buildroot 编译的时候,出现 g++: internal compiler error: Killed (program cc1plus) 这个是因为虚拟机内存不足的原因, 加上一些内存即可 ...

  3. T4 生成数据库实体类

    来源不详,整理如下: <#@ template language="C#" debug="True" hostspecific="True&qu ...

  4. CLOS网络的无阻塞条件

    交换单元及网络 模拟信号数字化和时分复用基础 交换单元模型基本交换单元 交换网络 2.1模拟信号数字化和分时复用基础 模拟信号是指在是和幅度数值上连续变化的信号 数字信号是指在时间和幅度取值上离散的编 ...

  5. Hadoop、Spark 集群环境搭建

    1.基础环境搭建 1.1运行环境说明 1.1.1硬软件环境 主机操作系统:Windows 64位,四核8线程,主频3.2G,8G内存 虚拟软件:VMware Workstation Pro 虚拟机操作 ...

  6. Please install [clang](http://clang.llvm.org/) or check configuration `clang.executable`

    解决方法: 1.安装clang 第一步:首先打开VScode编辑器 第二步:点击左侧“应用商店”栏 第三步:在“应用商店搜索拓展”栏输入关键字“clang” 第四步:安装提示的“C/c++ clang ...

  7. history 命令历史

    在终端中按捉[Ctrl]键的同时[r]键,出现提示:(reverse-i-search),此时你尝试一下输入你以前输入过的命令,当你每输入一个字符 的时候,终端都会滚动显示你的历史命令.当显示到你想找 ...

  8. JSON的多种转换

    String message = httpSend(url, empName, loginPassWd); // 解析json字符串 message = message.replaceAll(&quo ...

  9. 十三、K3 WISE 开发插件《SQL语句WHERE查询-范围查询/模糊查询》

    0.存储过程开头变量定义 ), --单据起始日期 ), --单据截止日期. ), ), ), ), ) @FType varchar(50),  --单据类型@FBillNo varchar(50), ...

  10. cmake构建时指定编译器架构(x86 or x64)

    vs2015 x64编译器为例,cmake命令如下: cmake -G "Visual Studio 14 Win64" path\to\source\dir 去掉Win64,就是 ...