返回顶部
首页 > 资讯 > 数据库 >如何在 Pandas 的 SQL 查询样式中选择数据子集?
  • 455
分享到

如何在 Pandas 的 SQL 查询样式中选择数据子集?

2023-10-22 10:10:22 455人浏览 八月长安
摘要

简介在这篇文章中,我将向您展示如何使用 pandas 通过 sql 样式过滤来执行数据分析。大多数企业数据都存储在需要 SQL 来检索和操作的数据库中。例如,像 oracle、IBM、Microsoft 这样的公司拥有自己的数据库和自己的

简介

在这篇文章中,我将向您展示如何使用 pandas 通过 sql 样式过滤来执行数据分析。大多数企业数据都存储在需要 SQL 来检索和操作的数据库中。例如,像 oracle、IBM、Microsoft 这样的公司拥有自己的数据库和自己的 SQL 实现。

数据科学家必须在其职业生涯的某个阶段处理 SQL,因为数据并不总是存储在CSV 文件。我个人更喜欢使用 Oracle,因为我公司的大部分数据都存储在 Oracle 中。

场景 – 1 假设我们有一个任务,从我们的电影中查找所有电影具有以下条件的数据集。

  • 电影的语言应该是英语(en)或西班牙语(es)。
  • 电影的受欢迎程度必须介于 500 到 1000 之间。
  • 电影的状态必须已发布。
  • 投票数必须大于 5000。对于上述场景,SQL 语句类似于如下。
SELECT
FROM WHERE
title AS movie_title
,original_language AS movie_language
,popularityAS movie_popularity
,statusAS movie_status
,vote_count AS movie_vote_count movies_data
original_languageIN ('en', 'es')

AND status=('Released')
AND popularitybetween 500 AND 1000
AND vote_count > 5000;

现在你已经看到了满足需求的SQL语句,让我们使用pandas一步一步地进行操作。我将向你展示两种方法。

方法1:布尔索引

1. 将movies_data数据集加载到DataFrame中。

import pandas as pd movies = pd.read_csv("https://raw.GitHubusercontent.com/sasankac/TestDataSet/master/movies_data.csv")

为每个条件分配一个变量。

languages = [ "en" , "es" ] condition_on_languages = movies . original_language . isin ( languages )
condition_on_status = movies . status == "Released"
condition_on_popularity = movies . popularity . between ( 500 , 1000 )
condition_on_votecount = movies . vote_count > 5000

3.将所有条件(布尔数组)组合在一起。

final_conditions = ( condition_on_languages & condition_on_status & condition_on_popularity & condition_on_votecount )
columns = [ "title" , "original_language" , "status" , "popularity" , "vote_count" ]
# clubbing all together movies . loc [ final_conditions , columns ]

标题

original_language

状态

受欢迎程度

vote_count

< p>
95星际

zh

已发布

724.247784

10867

< /td>

788死侍

zh

已发布

514.569956

10995

方法2:- .query()方法。

.query()方法是SQL where子句样式过滤数据的方法。条件可以作为字符串传递给此方法,但是,列名称不得包含任何空格。

如果列名称中有空格,请使用 python 替换函数将其替换为下划线。< /p>

根据我的经验,我发现 query() 方法在应用于较大的 DataFrame 时比以前的方法更快。

import pandas as pd movies = pd . read_csv ( "Https://raw.githubusercontent.com/sasankac/TestDataSet/master/movies_data.csv" )

4.构建查询字符串并执行该方法。

请注意,.query 方法不适用于跨越多行的三重引号字符串。

final_conditions = (
"original_language in ['en','es']"
"and status == 'Released' "
"and popularity > 500 "
"and popularity < 1000"
"and vote_count > 5000"
) final_result = movies . query ( final_conditions )
final_result

< td>293660

预算< /p>

id

original_language

original_title

受欢迎程度

发布日期

收入

运行时

st

95

165000000

157336

zh

星际

724.247784

2014年5月11日< /p>

675120017

169.0

关系

788

58000000

zh

死侍

514.569956

2016年9月2日

783112979

108.0

关系

< p>还有更多,通常在我的编码中,我有多个值要检查我的“in”子句。所以上面的语法并不理想。可以使用 at 符号 (@) 引用 Python 变量。

您还可以以编程方式将值创建为 Python 列表,并将它们与 (@) 一起使用。

movie_languages = [ 'en' , 'es' ]
final_conditions = (
"original_language in @movie_languages "
"and status == 'Released' "
"and popularity > 500 "
"and popularity < 1000"
"and vote_count > 5000" )
final_result = movies . query ( final_conditions )
final_result

293660

预算

id

original_language

original_title

受欢迎程度

发布日期

收入

运行时

st

95

165000000

157336

zh

星际

724.247784

2014年5月11日

675120017

169.0

关系

788

58000000

zh

死侍

514.569956 p>

2016年9月2日

783112979

108.0

关系

您可能感兴趣的文档:

--结束END--

本文标题: 如何在 Pandas 的 SQL 查询样式中选择数据子集?

本文链接: https://lsjlt.com/news/436323.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何在 Pandas 的 SQL 查询样式中选择数据子集?
    简介在这篇文章中,我将向您展示如何使用 Pandas 通过 SQL 样式过滤来执行数据分析。大多数企业数据都存储在需要 SQL 来检索和操作的数据库中。例如,像 Oracle、IBM、Microsoft 这样的公司拥有自己的数据库和自己的 ...
    99+
    2023-10-22
  • Pandas数据查询的集中如何实现
    今天小编给大家分享一下Pandas数据查询的集中如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Pandas查询数据的...
    99+
    2023-07-05
  • 如何在SQL Server数据库中实现子查询
    本篇文章给大家分享的是有关如何在SQL Server数据库中实现子查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1 子查询子查询是一个嵌套在select、insert、up...
    99+
    2023-06-14
  • 如何利用Pandas查询选取数据
    目录一,Pandas查询数据的几种方法二,Pandas使用df.loc查询数据的方法 df[]df.loc方法查询df.iloc方法查询总结一,Pandas查询数据的几种方...
    99+
    2024-04-02
  • Pandas数据查询的集中实现方法
    目录Pandas查询数据的几种方法Pandas使用df.loc查询数据的方法0、进行数据预处理1、使用单个label值查询数据2、使用值列表批量查询3、使用数值区间进行范围查询4、使...
    99+
    2023-02-27
    Pandas数据查询 Pandas查询数据
  • 如何使用SQL语句在MySQL中查询和筛选数据?
    如何使用SQL语句在MySQL中查询和筛选数据?MySQL是一种常用的关系型数据库管理系统,它提供了强大的 SQL 查询语言,可以帮助我们方便地查询和筛选数据。本文将介绍如何使用 SQL 语句在 MySQL 中查询和筛选数据,包括使用 SE...
    99+
    2023-12-17
    MySQL SQL查询 数据筛选
  • pandas 数据帧上的 duckdb 查询中的 SQL 注入
    问题内容 在一个项目中,我正在使用 duckdb 对数据帧执行一些查询。对于其中一个查询,我需要将一些用户输入添加到查询中。这就是为什么我想知道在这种情况下是否可以进行 sql 注入。...
    99+
    2024-02-10
    overflow
  • 在sql查询中如何使用where子句
    这篇文章将为大家详细讲解有关在sql查询中如何使用where子句,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在sql查询中使用where子句指出的是...
    99+
    2024-04-02
  • 如何使用SQL语句在MySQL中查询数据
    要在MySQL中查询数据,可以使用SELECT语句。以下是一个简单的例子: SELECT * FROM table_name...
    99+
    2024-04-09
    MySQL
  • 如何在MongoDB中查询数据
    本篇文章给大家分享的是有关如何在MongoDB中查询数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。方法一:使用find()方法查询指定的键。db.student.find(...
    99+
    2023-06-14
  • 如何在PostgreSQL中查询数据
    在PostgreSQL中查询数据可以使用SELECT语句。下面是一个示例: SELECT column1, column2 ...
    99+
    2024-04-09
    PostgreSQL
  • MySQL数据查询中如何使用集合/聚合函数查询
    小编给大家分享一下MySQL数据查询中如何使用集合/聚合函数查询,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!MySQL聚合函数如下:函数作用avg()返回某列的平均值count()返回某...
    99+
    2024-04-02
  • 如何在pandas中根据日期范围筛选数据
    如何在pandas中根据日期范围筛选数据?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。日期转换用来筛选的列是 date 类型,所以这里要把要筛选的日期范围从字符...
    99+
    2023-06-06
  • 如何使用:last-child伪类选择器选择最后一个子元素的样式
    如何使用:last-child伪类选择器选择最后一个子元素的样式,需要具体代码示例在CSS中,有许多伪类选择器可以用来选择不同的元素类型。其中一个非常常用且实用的伪类选择器是:last-child。使用:last-child伪类选择器可以选...
    99+
    2023-11-20
    伪类选择器 last-child 子元素的样式
  • PL/SQL在数据集成中如何应用
    PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库中的一...
    99+
    2024-05-08
    PL/SQL
  • 新数据库查询编辑器中如何加速Azure T-SQL的查询
    这篇文章将为大家详细讲解有关新数据库查询编辑器中如何加速Azure T-SQL的查询,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。最近,微软在其Azure云...
    99+
    2024-04-02
  • php如何在二维数组中查询数据
    这篇文章主要介绍了php如何在二维数组中查询数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何在二维数组中查询数据文章都会有所收获,下面我们一起来看看吧。I. 建立一个简单的二维数组首先,让我们来创建...
    99+
    2023-07-06
  • 如何在Oracle数据库中执行查询
    要在Oracle数据库中执行查询,您可以使用SQL语句。以下是一个简单的示例: SELECT * FROM table_na...
    99+
    2024-04-09
    Oracle
  • 如何在MySQL中插入和查询数据
    在MySQL中插入和查询数据,可以使用以下语句: 插入数据: INSERT INTO 表名 (字段1, 字段2, 字段3) VA...
    99+
    2024-04-09
    MySQL
  • Java 查询 List 中存在的数据在集合中的索引位置
    在 Java 开发中,我们经常需要查询某些数据在 List 集合中的索引位置。如果我们使用传统的方式,比如逐条查询或者使用循环遍历,可能会造成时间复杂度较高的问题。本文将介绍如何使用 Java 优雅地查询 List 集合中存在的数据在集合中...
    99+
    2023-09-25
    java list windows
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作