SQL VS Pandas SELECT(数据选择) 在SQL中,选择是使用逗号分隔的列列表(或*来选择所有列): ? 在Pandas中,选择不但可根据列名称选取,还可以根据列所在的位置选取。...在where字句中搭配NOT NULL可以获得某个列不为空的项,Pandas中也有对应的实现: SQL: ? Pandas: ? DISTINCT(数据去重) SQL: ? Pandas: ?...现在看一下不同的连接类型的SQL和Pandas实现: INNER JOIN SQL: ? Pandas: ? LEFT OUTER JOIN SQL: ? Pandas: ?...RIGHT JOIN SQL: ? Pandas: ? FULL JOIN SQL: ? Pandas: ? ORDER(数据排序) SQL: ? Pandas: ?...UPDATE(数据更新) SQL: ? Pandas: ? DELETE(数据删除) SQL: ? Pandas: ?
import numpy as np import pandas as pd 创建DataFrame In [2]: df = pd.DataFrame({'col_a': np.arange(10),
Pandas 给 NumPy 数组带来的两个关键特性是: 异质类型 —— 每一列都允许有自己的类型 索引 —— 提高指定列的查询速度 事实证明,这些功能足以使Pandas成为Excel和数据库的强大竞争者...Polars[2]是Pandas最近的转世(用Rust编写,因此速度更快,它不再使用NumPy的引擎,但语法却非常相似,所以学习 Pandas 后对学习 Polars 帮助非常大。...Pandas的速度 下面对NumPy和Pandas的典型工作负载进行了基准测试:5-100列;10³-10⁸行;整数和浮点数。...下面是1行和1亿行的结果: 从测试结果来看,似乎在每一个操作中,Pandas都比NumPy慢!而这并不意味着Pandas的速度比NumPy慢! 当列的数量增加时,没有什么变化。...在存在缺失值的情况下,Pandas的速度是相当不错的,对于巨大的数组(超过10⁶个元素)来说,甚至比NumPy还要好。
一、查询 1.1 查询前3行 pandas查询前3行: SQL查询前3行: 1.2 查询后3行 pandas查询后3行: SQL查询后3行: 1.3 查询指定列 pandas方法1(中括号[]): pandas...(通过"索引值"定位) SQL查询指定列: 1.4 按条件查询 pandas单条件查询: SQL单条件查询: pandas多条件查询(并且关系): SQL多条件查询(并且关系AND): pandas多条件查询...(或者关系): SQL多条件查询(或者关系OR): 二、增加 2.1 增加行 pandas方法1(append): pandas方法2(loc): pandas方法3(concat): SQL增加一行:...SQL增加多行: 2.2 增加列 pandas方法1(中括号[]): pandas方法2(insert): SQL增加一列: 三、删除 3.1 删除行 pandas方法1(drop-行名): pandas...方法2(drop-行号): pandas方法3(drop-删除特定条件的行): SQL删除多行: 3.2 删除列 pandas方法1(drop): pandas方法2(del): SQL删除一列: 四、
特点: 数据以表格的形式出现 每行为各种记录名称 每列为记录名称所对应的数据域 许多的行和列组成一张表单 若干的表单组成database SQL 和 Mongodb术语对比: SQL术语 Mongodb...port=3306, db='exercise', charset='utf8') # 创建连接对象 cursor = mysql.cursor() # 创建游标对象 # 游标对象下执行sql
Spark SQL 的核心是Catalyst优化器,首先将SQL处理成未优化过的逻辑计划(Unresolved Logical Plan),其只包括数据结构,不包含任何数据信息。...Flink SQL 是Fllink提供的SQL的SDK API。SQL是比Table更高阶的API,集成在Table library中提供,在流和批上都可以用此API开发业务。 ?...其完全依靠calcite(sql parser)去做语法解析,validate后生成calcite logical plan....import org.apache.spark.sql.Dataset; import org.apache.spark.sql.SparkSession; public class SparkSQLTest...接下来直接通过SQL进行查询就好了。
pandas中以read开头的方法名称 按照个人使用频率,对主要API接口介绍如下: read_sql:用于从关系型数据库中读取数据,涵盖了主流的常用数据库支持,一般来讲pd.read_sql的第一个参数是...SQL查询语句,第二个参数是数据库连接驱动,所以从这个角度讲read_sql相当于对各种数据库读取方法的二次包装和集成; read_csv:其使用频率不亚于read_sql,而且有时考虑数据读取效率问题甚至常常会首先将数据从数据库中转储为...这一转储的过程目的有二:一是提高读取速度,二是降低数据读取过程中的运行内存占用(实测同样的数据转储为csv文件后再读取,内存占用会更低一些); read_excel:其实也是对xlrd库的二次封装,用来读取...在以上方法中,重点掌握和极为常用的数据读取方法当属read_sql和read_csv两种,尤其是read_csv不仅效率高,而且支持非常丰富的参数设置,例如支持跳过指定行数(skip_rows)后读取一定行数...推荐语:本书在简要介绍Scala语言理解“面向对象”和“函数式编程”等理念的基础上,重点围绕Spark的核心抽象概念以及Spark SQL、Spark Streaming和Spark GraphX等组件来分析结构化和非结构化数据
本文约1600字,建议阅读5分钟本文将做一个简单的介绍和评测,为什么pandas选择Arrow作为后端。 Pandas是机器学习中最常用的一个库了,我们基本上每天都会使用它。...Pandas Pandas 2.0有什么不同呢?Pandas 2.0,不仅支持NumPy作为后端,还支持PyArrow。...', use_nullable_dtypes=True) 速度对比 根据官方的介绍我们都知道,使用Arrow主要就是提高了速度,那么我们来做一个简单的测试: 使用NumPy和PyArrow的读取相同的...Pandas 2.0的一些优点 1. 速度 这个应该不必多说了,借助Arrow的优势,上面看到已经快了很多 2. 缺失值 pandas表示缺失值的方法是将数字转换为浮点数,并使用NaN作为缺失值。...总结 虽然Pandas 2.0的正式版还没有发布,在pandas 2.0中加入Arrow后端标志着该库的一个重大进步。
这有助于说明SQL关系数据库和NoSQL非关系数据库之间的根本区别之一,这种区别具有重大意义。我们来解释一下: SQL数据库使用结构化查询语言(SQL)来定义和操作数据。...一方面,这是非常强大的:SQL是最通用和最广泛使用的选项之一,使其成为一个安全的选择,尤其适用于复杂的查询。另一方面,它可能是限制性的。SQL要求你在使用之前使用预定义模式来确定数据的结构。...SQL数据库的一些示例包括MySQL,Oracle,PostgreSQL和Microsoft SQL Server。...SQL与NoSQL:MySQL与MongoDB 现在我们已经确定了SQL和NoSQL数据库之间的关键结构差异,让我们深入研究两者之间的关键功能差异,特别是以MySQL和MongoDB为例。...· 速度:它对于简单查询来说效果很好。 · 灵活性:你可以在MongoDB上添加新列或字段,而不会影响现有行或应用程序性能。 那么哪个数据库适合你的业务?
小小明:「凹凸数据」专栏作者,Pandas数据处理高手,致力于帮助无数数据从业者解决数据处理难题。...之前有群友反应同事给了他一个几百MB的sql脚本,导入数据库再从数据库读取数据有点慢,想了解下有没有可以直接读取sql脚本到pandas的方法。...读取方法: from io import StringIO import pandas as pd import re def read_sql_script_all(sql_file_path, quotechar...02 将sql脚本转换为sqlite格式并通过本地sql连接读取 在写完上面的方法后,我又想到另一种解决思路,就是将sql脚本转换成sqlite语法的sql语句,然后直接加载。...加载sql脚本的方法: from sqlalchemy import create_engine import pandas as pd import re def load_sql2sqlite_conn
这篇文章我们先来了解一下pandas包中的类SQL操作,pandas中基本涵盖了SQL和EXCEL中的数据处理功能,灵活应用的话会非常高效。...写过SQL的小伙伴了解,条件查询就是SQL中WHERE的部分, pandas如何实现where条件,我们来仔细盘一下: 第一种写法: print(data[data['a'] >= '2']) 上面可以解读为...的强大,几乎涵盖了SQL的函数功能。...SQL中的join函数。...结合上文有没有发现,同样的功能,python比SQL简单,这也是python的一大优势。
作者:大邓 来源:大邓和他的Python 使用Pandas和plotnine可视化数据 目标: 学会使用pandas内置的作图功能 使用pands作散点图和直方图?...使用plotnine定制一个画布 从dataframe数据中构建复杂的定制化图表 导出作图结果 之前分享过很多pandas可视化、plotnine可视化, 使用pandas做数据可视化 plotnine...: Python版的ggplot2作图库 但是两者对比的还没有,今天我们尝试分别用pandas和plotnine作直方图、散点图。...直方图 pandas直方图 ecoli['genome_size'].plot.hist() ?...#带标题 ecoli['genome_size'].plot.hist(title='Histogram with pandas') ?
文章目录[隐藏] 测试方法 测试结果 紧接前文,这次我们来比较的是在劣质网络环境下,BBR vs BBRplus vs BBR2 的性能表现。...安装不同 BBR 分支加速后,在 B 机通过 wget 下载 50MB 的测试文件若干次(≥5次),并取最快3次的平均速度。 测试结果 单位:KB/s 我们还是简单直接的上结果。...需要额外指出的是,在针对数十次测试中,其中有一次 BBRplus129 达到了 1250 KB/s 的平均速度。但多数时候全程平均速度都只能维持在 700-800 KB/s。
---- 基本用法 读取数据 SQL sql读取数据其实没啥可说的,一句简单的select * from table_name就OK了。...常见的如下: pandas.read_csv():用于读取csv文件; pandas.read_excel():用于读取Excel文件; pandas.read_json() :用于读取json文件...; pandas.read_sql():用于读取数据库,传入sql语句,需要配合其他库连接数据库。...筛选列 SQL select city, country from table_name Pandas # 筛选一列 # 这样返回的是series data['City'].head() # 这样返回的是...dataframe,注意差别 data[['City']].head() # 筛选多列 data[['City','Country']].head() 筛选行 SQL sql本身并不支持筛选特定行,不过可以通过函数排序生成虚拟列来筛选
后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas 前言 有不少小伙伴向我反映 pandas 专栏缺少练习题,因此这里我使用一套 sql 的题目,作为 pandas...本文大部分的解题过程尽可能使用 pandas 中最基础的入门操作完成,涉及的知识点基本在专栏中的前15节内容中有详尽讲解。...上一篇文章在这里 sql题目pandas解法(01):筛选、all、any常用技巧 ---- 题目 与"赵雷"同学报读课程至少有一门相同的学生信息: 解读: 行5:首先,找到"赵雷"的课程记录(df_wd.query...整个 Sql 的关键是 in 的使用 使用 CTE(表达式) 可以让 Sql 的逻辑更加清晰,但是每个数据库的支持程度不太一样 如果需求变成是,至少有2门一样的学生,那么以上思路完全不行了!...pandas 也能按这种思路完成: pandas 中的 isin 对应 Sql 的 in A列.isin(B列),得到的结果是一个长度与A列一样的 bool值的列,每个 bool 值表示 A列对应的值是否在
二、SQL和NoSQL之间的高度差异 2.1、存储: SQL将数据存储在表中,每一行代表一个实体和每列代表一个关于该实体的数据点;例如,如果我们是在表中存储一个car实体时,不同的列可以是“Color”...可以动态添加列,并且每个列“行”(或等效行)不必包含每个“列”的数据查询:SQL数据库使用SQL(结构化查询语言)来定义以及操纵数据,这是非常强大的。在NoSQL数据库中,查询集中在一组文档上。...所以在数据可靠性和执行安全保证方面事务、SQL数据库仍然是更好的选择。大多数NoSQL解决方案都牺牲了ACID合规性来提高性能和性能和伸缩性。 三、SQL和NoSQL——使用哪一种?...尽管NoSQL数据库正在增长由于其速度和可扩展性广受欢迎,仍有一些情况下 高度结构化的SQL数据库可能表现更好;选择正确的技术取决于用例。...3.1、使用SQL数据库的原因 以下是选择SQL数据库的几个原因: 1.我们需要确保符合ACID要求。 通过事务来保护数据库的完整性,事务与数据库的交互方式。
第一个是,用SQL里的In查询,但是因为受限于SQL自身的长度,我们不可能把十万个ID都放到一条SQL里,所以我们将ID集合切分,然后并发去访问得到结果。...如果是第一种做法,那么这就是我说的"编程思维",而第二种则是“SQL思维”。 我之前将"编程思维","SQL思维"发了个朋友圈,问大家他们之间有啥区别,答案五花八门。...而SQL则对这一类操作做了一个总体的设计和规范,如果你习惯了SQL的模式,大部分数据操作会很简单。...SQL的流行取决于数据自然就是按集合组织的,无论有无数据库(SQL),他都会是这种形态。那么SQL又天然是面向集合操作,自然会有很强的能量。...Excel -> SQL -> Python, Excel符合托拉拽的操控数据,所以是最广泛的操作数据的工具,其次就是SQL了,Python虽然流行,但他是一个通用的语言,复杂度摆在那。
SQL 数据库是一个理想的项目,确定好了需求和健壮的数据的完整性是至关重要的。NoSQL 数据库是无关理想,不确定的或者不断变化的数据需求 ,在速度和可伸缩性上更重要。 简单的术语: SQL 是数字。...你比我更了解你的项目,我不建议切换从SQL到NoSQL或反之亦然,除非它提供了可观的效益。这是你的选择。在项目的开始要考虑利弊,你不能出错。...场景一:一个联系人列表 让我们重新发明轮子,实现一个基于sql的通讯录系统。...我们不太可能关注细节,例如笔记本处理器速度或者智能手机的电池寿命。 最小化出错的可能是必要的。我们不能让物品凭空消失或者移到已经有别的物品存放的位置。...这些知识可以让你对SQL或者NoSQL做出一个理性和情感上公正的判断。祝您好运。
在前一篇文章中,我们讨论了 SQL 与 NoSQL 数据库之间基本的区别。接下来,我们我们将应用我们在特定场景中的知识来确定最佳的选择。...SQL 数据库是一个理想的项目,确定好了需求和健壮的数据的完整性是至关重要的。NoSQL 数据库是无关理想,不确定的或者不断变化的数据需求 ,在速度和可伸缩性上更重要。 简单的术语: SQL 是数字。...场景一:一个联系人列表 让我们重新发明轮子,实现一个基于sql的通讯录系统。...我们不太可能关注细节,例如笔记本处理器速度或者智能手机的电池寿命。 最小化出错的可能是必要的。我们不能让物品凭空消失或者移到已经有别的物品存放的位置。...这些知识可以让你对SQL或者NoSQL做出一个理性和情感上公正的判断。祝您好运。
pandas VS excel给成绩赋值等级 【问题】有一张成绩表如下 【要求】 在总分后面添加一列,按如下要求输入等级 【知识点】 apply函数 apply函数是`pandas`里面所有函数中自由度最高的函数...【代码】 # -*- coding: UTF-8 -*- import pandas as pd def get_letter_grade(score): if score>=90:...return "B" elif score>=60: return "C" else: return "D" d=pd.read_excel('pandas...VS excel给成绩赋值等级.xlsx') print(d) d['等级']=d['总分'].apply(lambda x: get_letter_grade(x)) print(d) d.to_excel...('pandas VS excel给成绩赋值等级_out.xlsx',index=False) print("done") 说明: 1.把Excel成绩读入打印出来为 2.新建一个“等级“的列,并赋值等级如下