python执行各种sql语句,让你分析数据更简洁

由于许多潜在的pandas用户对SQL有一定的了             解 ,因此本页旨在提供一些使用pandas来执行各种SQL操作的示例。

大部分的例子将利用tips在pandas测试中发现数据集。我们将数据读入一个名为tips的DataFrame,并假设我们有一个同名和结构的数据库表。

一、SELECT

在SQL中,选择是使用逗号分隔的列表来选择(或者* 选择所有列):

在pandas中,列的选择是通过传递列名到您的DataFrame:

调用没有列名称列表的DataFrame将显示所有列(类似于SQL的 *)。

二、WHERE

SQL中的过滤是通过WHERE子句完成的。

数据框dataframe可以通过多种方式进行过滤; 最直观的是使用 布尔索引

上面的语句只是将一个SeriesTrue / False对象传递给DataFrame,所有行都返回True。

就像SQL的OR和AND一样,可以使用|将多个条件传递给DataFrame (OR)和&(AND)。

NULL检查使用notna()isna() 方法完成。

假设我们有一个与上面的DataFrame结构相同的表。我们只能看到col2 IS NULL 的记录与下面的查询:

获取col1不是NULL的项目可以完成notna()

今日赠言

生活中的各种喧嚣会容易让人疲乏,抽出一点时间留给自己吧。做你喜欢的事情,想你开心的事情,然后微笑面对今天。


推荐阅读:


机器学习篇

机器学习入门科普篇--系列二

机器学习算法的随机数据生成总结

python 数据清洗篇

python 数据清洗篇

想入门深度学习?先理解这25个概念!

自然语言处理中的Attention Model:是什么及为什么

用户画像之用户性别识别

机器学习入门科普篇--系列一

客户流失分析

全球变暖温度分析图

数据挖掘学习笔记--决策树C4.5

决策树你应该知道的几点

决策树的Python实现

机器学习之------K-Means(K均值)

机器学习算法与Python实践之(一)k近邻(KNN)

数据科学的完整学习路径

对线性回归、逻辑回归、各种回归的概念学习


python学习篇

优雅的Python

利用python操作Excel教程

让你的 Python 代码优雅又地道

Python笔记

python学习笔记

Python小知识:Python 迭代器与生成器

python函数简书

Python常用模块资料

Python 禅道

Python 字符串操作方法大全

Python的编码命名规则

python 数组的del ,remove,pop区别


参考:http://pandas.pydata.org/pandas-docs/stable/comparison_with_sql.html



Python可以通过多种方式调用SQL,包括使用原生的SQL语句、使用ORM框架等。下面介绍两种常用的方式: 1. 使用Python内置的sqlite3模块调用SQL Python内置了一个sqlite3模块,可以用于访问SQLite数据库。使用sqlite3模块调用SQL可以分为以下几步: (1)导入sqlite3模块 ```python import sqlite3 ``` (2)连接到数据库 ```python conn = sqlite3.connect('example.db') ``` (3)创建游标对象 ```python cursor = conn.cursor() ``` (4)执行SQL语句 ```python cursor.execute('SELECT * FROM users') ``` (5)获取执行结果 ```python result = cursor.fetchall() ``` (6)提交事务 ```python conn.commit() ``` (7)关闭连接 ```python conn.close() ``` 2. 使用第三方的ORM框架调用SQL ORM(Object Relational Mapping)框架是一种将对象与关系型数据库的数据进行映射的技术。Python有很多ORM框架可供选择,例如SQLAlchemy、Django ORM等。以SQLAlchemy为例,使用ORM框架调用SQL可以分为以下几步: (1)安装SQLAlchemy ```python pip install sqlalchemy ``` (2)导入SQLAlchemy模块 ```python from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData ``` (3)创建数据库连接 ```python engine = create_engine('sqlite:///example.db', echo=True) ``` (4)定义数据表结构 ```python metadata = MetaData() users = Table('users', metadata, Column('id', Integer, primary_key=True), Column('name', String), Column('age', Integer), Column('gender', String) ) ``` (5)执行SQL操作 ```python with engine.connect() as conn: # 插入数据 conn.execute(users.insert(), {'name': 'Tom', 'age': 18, 'gender': 'male'}) # 查询数据 result = conn.execute(users.select().where(users.c.age > 20)) for row in result: print(row) ``` 需要注意的是,使用ORM框架调用SQL虽然可以方便地操作数据库,但是会增加应用程序的复杂度和开销。因此,在选择使用ORM框架时,需要根据实际情况进行权衡和选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值