pandas从数据库读取数据

因为本周有一个是需要使用pandos做一个数据分析的需求,所以在这里做一下记录。

Python中用Pandas进行数据分析,最常用的就是Dataframe数据结构,

这里我们主要介绍Pandas如何读取数据到Dataframe。

  1. Pandas读取Mysql数据要读取Mysql中的数据,首先要安装Mysqldb包。假设我数据库安装在本地,用户名位myusername,密码为mypassword,要读取mydb数据库中的数据,那么对应的代码如下:
import pandas as pd
import MySQLdb
mysql_cn= MySQLdb.connect(host=‘localhost‘, port=3306,user=‘myusername‘, passwd=‘mypassword‘, db=‘mydb‘)
df = pd.read_sql(‘select * from test;‘, con=mysql_cn)
mysql_cn.close()

上面的代码读取了test表中所有的数据到df中,而df的数据结构为Dataframe。

  1. Pandas读取csv文件数据Pandas读取csv文件中的数据要简单的多,不用额外安装程序包,假设我们要读取test.csv中的数据, 对应的代码如下:
df = pd.read_csv(loggerfile, header=None, sep=‘,‘)

header=None表示没有头部,sep=’,’表示字段之间的分隔符为逗号。


关于对数据分析的思考

这里的需求是根据本周的数据得到对比上周的数据的环比趋势等信息。但是由于数据一直都是增量更新到数据库,所以需要用需要使用时间字段控制查询范围,

这里补充几个关于数据库查询的sql

查询今天的数据

select * from tj where to_days(now()) = to_days(tjsj)

查询z昨天的数据

select * from tj where to_days(now()) - to_days(tjsj) = 1

查询本周数据

select * from tj where tjsj >= subdate(curdate(),date_format(curdate(),‘%w‘)-1) and tjsj <= subdate(curdate(),date_format(curdate(),‘%w‘)-7)

查询上周数据

select * from tj where tjsj >= subdate(curdate(),date_format(curdate(),‘%w‘)+6) and tjsj <= subdate(curdate(),date_format(curdate(),‘%w‘)-0)

需求完成阶段如下:

1、使用数据库查询sql,查询出符合条件的上周数据。 查询创建时间是上周,或者更新时间是上周的数据。

2、使用数据库查询sql,查询出符合条件的本周数据。 查询创建时间是本周,或者更新时间是本周的数据。

3、进行数据分析的工作,得到想要的数据。分析1、2 得到的数据,并且进行运算。

计划本工作两日完成。

原文地址:https://www.cnblogs.com/wangcc7/p/12556292.html

时间: 2024-08-01 08:14:34

pandas从数据库读取数据的相关文章

jquery.datatable插件从数据库读取数据

一.分页 分页的基本思想是根据datatable的页码及每页显示的行数,将数据从数据库分段提出,然后再填充到表格中,以达到分页的效果. 这里需要用到datatable插件的几个属性: "sEcho":这个属性需要原封不动地传回给datatable,具体的作用我也不清楚,但是根据它值的变化情况来看,好像是一个操作次数的计数(之前我一直把它当做是pageindex来用,结果发现,不论我在datatable中是翻下一页还是翻上一页,它一直在增加.) "iDisplayStart&q

echarts通过ajax向服务器发送post请求,servlet从数据库读取数据并返回前端

1.echarts的官网上的demo,都是直接写死的随机数据,没有和数据库的交互,所以就自己写了一下,ok,我们开始一步一步走一遍整个流程吧. 就以官网最简单的那个小demo来做修改吧.官网上的小demo的效果图如下:(很熟悉,有没有) 2.按照echarts的使用方法新建一个echarts.html文件.为ECharts准备一个具备大小(宽高)的Dom(讲的有点细,熟悉的朋友直接跳过) <!DOCTYPE html> <head> <meta charset="u

10天学会phpWeChat——第三天:从数据库读取数据到视图

在第二天,我们创建了我们的第一个phpWeChat功能模块,但是比较简单.实际生产环境中,我们不可能有如此简单的需求.更多的情况是数据存储在MySql数据库中,我们开发功能模块的作用就是将这些数据从MySql读取并通过视图多样化的呈现给用户. 今天我们进入<10天学会phpWeChat>系列教程的第三天:从数据库读取数据到视图. 一.首先,我们创建一个MySql数据文章表(pw_wechat_hello_article)用来存储要显示给用户的数据. 为了简单明了,这个表我们只保留3个字段: I

C#实现从数据库读取数据到Excel

用第三方组件:NPOI来实现 先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中添加引用.使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写. 创建一个实体类: [Table("Customer") ] public class Customer { [Key] public int Id { get; set; } public st

C++ 从数据库读取数据,将数据显示在界面上的TreeCtrl上

oracle数据库读取数据如下所示: 代码如下: //构造节点 struct AREA { long id; long parent_area_id; string area_name; std::vector<AREA> children; } //从AREA表中根据id读一个结构体Area的数据 void Id2FindAreaTree(Session ses, AREA& Area, int id) { Statement select(ses); select <<

从数据库读取数据Table后转成对应的实体泛型方法

1 每次读取数据库的数据都是一个DataTable表,以前是傻傻的每个表都写一个转换的类,后来自己研究一个泛型方法,适用于所有转换 /// <summary> /// 返回一个集合 /// </summary> /// <typeparam name="T2">要传入的实体</typeparam> /// <param name="strSql">sql语句或者存储过程类型</param> //

Hibernate上传数据到数据库,从数据库读取数据到本地模板代码

Hibernate上传数据到数据库: 1 //创建一个session对象 2 Session session1=HibernateTools.getSession(); 3 //Fenciresult数据库表所对应的实体类,生成实体类对象,操作数据库表 4 Fenciresult fenciresult=new Fenciresult(); 5 //设置数据库对应字段的值,主键若是自增模式,无需人为设置 6 fenciresult.setWord("@"); 7 fenciresult

知乎网页(用php从数据库读取数据)

---恢复内容开始--- 这几天都在做小项目,做的是知乎的网页,我觉得知乎网页最难的地方就在数据的读取,可以用json.js;也可以用php数据库来获取数据,下面是我写的一些用php读取数据库数据的代码,首先首页主要内容的读取,两个部分conn.php和zhihu_exec.php;注册有三部分conn.php,zhuce_add.php,zhuce.insert.php;登录有两个部分login.php,login.exec.php; 下面是具体的代码: 一:首页 //1.调用数据库,读取数据

关于oracle数据库读取数据的三种方式

打开oracle sqldeveloper,连接到HR模式下的数据库,在SQL工作表中,执行如下语句: CREATE TABLE WANG( Name  varchar2(6), ID     number        ); 然后向表中插入如下语句: INSERT INTO WANG VALUES('WANG',1): INSERT INTO WANG VALUES('CHENG',2); INSERT INTO WANG VALUES('ZHOU',3); INSERT INTO WANG