Inhaltsverzeichnis
Einführung
Methode 1: Boolescher Index
Methode 2:- .query()-Methode. Die Methode
Heim Datenbank MySQL-Tutorial Wie wähle ich in Pandas eine Teilmenge von Daten im SQL-Abfragestil aus?

Wie wähle ich in Pandas eine Teilmenge von Daten im SQL-Abfragestil aus?

Aug 31, 2023 am 10:13 AM

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

Einführung

In diesem Beitrag zeige ich Ihnen, wie Sie Pandas verwenden, um Datenanalysen mit Filterung im SQL-Stil durchzuführen. Die meisten Unternehmensdaten werden in Datenbanken gespeichert, für deren Abruf und Bearbeitung SQL erforderlich ist. Beispielsweise verfügen Unternehmen wie Oracle, IBM und Microsoft über eigene Datenbanken und eigene SQL-Implementierungen.

Datenwissenschaftler müssen sich irgendwann in ihrer Karriere mit SQL auseinandersetzen, da Daten nicht immer in CSV-Dateien gespeichert werden. Ich persönlich bevorzuge die Verwendung von Oracle, da die meisten Daten meines Unternehmens in Oracle gespeichert sind.

Szenario – 1 Nehmen wir an, wir haben die Aufgabe, alle Filme aus unserem Filmdatensatz zu finden, die die folgenden Kriterien erfüllen.

  • Die Sprache des Films sollte Englisch (en) oder Spanisch (es) sein.
  • Die Popularität des Films muss zwischen 500 und 1000 liegen.
  • Der Status des Films muss veröffentlicht werden.
  • Die Anzahl der Stimmen muss größer als 5000 sein. Für das obige Szenario sieht die SQL-Anweisung wie folgt aus.
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;
Nach dem Login kopieren

Da Sie nun die SQL-Anweisung gesehen haben, die Ihren Anforderungen entspricht, machen wir es Schritt für Schritt mit Pandas. Ich zeige Ihnen zwei Möglichkeiten.

Methode 1: Boolescher Index

1. Laden Sie den Datensatz movies_data in einen DataFrame.

import pandas as pd movies = pd.read_csv("https://raw.githubusercontent.com/sasankac/TestDataSet/master/movies_data.csv")
Nach dem Login kopieren

Weisen Sie jeder Bedingung eine Variable zu.

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
Nach dem Login kopieren

3. Kombinieren Sie alle Bedingungen (boolesches Array).

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 ]
Nach dem Login kopieren

Titel

Originalsprache

Status

Beliebtheit

Abstimmungszahl

< p>
95 Star

zh

Veröffentlicht

724.247784

10867

< /td>

788 Deadpool

zh

Veröffentlicht

514.569956

10995

Methode 2:- .query()-Methode. Die Methode

.query() ist eine Methode zum Filtern von Daten im SQL-Where-Klausel-Stil. Bedingungen können als Zeichenfolgen an diese Methode übergeben werden, Spaltennamen dürfen jedoch keine Leerzeichen enthalten.

Wenn die Spaltennamen Leerzeichen enthalten, verwenden Sie die Python-Ersetzungsfunktion, um diese durch Unterstriche zu ersetzen. < /p>

Meiner Erfahrung nach ist die query()-Methode schneller als frühere Methoden, wenn sie auf größere DataFrames angewendet wird.

import pandas as pd movies = pd . read_csv ( "https://raw.githubusercontent.com/sasankac/TestDataSet/master/movies_data.csv" )
Nach dem Login kopieren

4. Erstellen Sie die Abfragezeichenfolge und führen Sie die Methode aus.

Bitte beachten Sie, dass die .query-Methode nicht mit Zeichenfolgen in dreifachen Anführungszeichen funktioniert, die sich über mehrere Zeilen erstrecken.

final_conditions = (
"original_language in [&#39;en&#39;,&#39;es&#39;]"
"and status == &#39;Released&#39; "
"and popularity > 500 "
"and popularity < 1000"
"and vote_count > 5000"
) final_result = movies . query ( final_conditions )
final_result
Nach dem Login kopieren

514.569956< td>108.0

und viele mehr, normalerweise in meinem In meiner Codierung habe ich mehrere Werte um meine „in“-Klausel einzuchecken. Daher ist die obige Syntax nicht ideal. Python-Variablen können mit dem at-Symbol (@) referenziert werden. id

Originalsprache

Originaltitel

Beliebtheit

Budget< /p>

id

Originalsprache

Originaltitel

Beliebtheit

Veröffentlichungsdatum

Umsatz

Laufzeit

st

95

165000000

157336

zh

interstellar

724.247784

11. Mai 2014 58000000< /p>

293660

zh

der Kellner

2. September 2016

783112979

Beziehung

Sie können Werte auch programmgesteuert als Python-Listen erstellen und diese mit (@) verwenden.

movie_languages = [ &#39;en&#39; , &#39;es&#39; ]
final_conditions = (
"original_language in @movie_languages "
"and status == &#39;Released&#39; "
"and popularity > 500 "
"and popularity < 1000"
"and vote_count > 5000" )
final_result = movies . query ( final_conditions )
final_result
Nach dem Login kopieren

Budget

Veröffentlichungsdatum

Umsatz

Laufzeit: 95 zh

interstellar

724.247784

2014 11. Mai 000000 293660

783112979

108.0

Beziehung

Das obige ist der detaillierte Inhalt vonWie wähle ich in Pandas eine Teilmenge von Daten im SQL-Abfragestil aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Reduzieren Sie die Verwendung des MySQL -Speichers im Docker Reduzieren Sie die Verwendung des MySQL -Speichers im Docker Mar 04, 2025 pm 03:52 PM

In diesem Artikel wird die Optimierung von MySQL -Speicherverbrauch in Docker untersucht. Es werden Überwachungstechniken (Docker -Statistiken, Leistungsschema, externe Tools) und Konfigurationsstrategien erörtert. Dazu gehören Docker -Speichergrenzen, Tausch und CGroups neben

So lösen Sie das Problem der MySQL können die gemeinsame Bibliothek nicht öffnen So lösen Sie das Problem der MySQL können die gemeinsame Bibliothek nicht öffnen Mar 04, 2025 pm 04:01 PM

Dieser Artikel befasst sich mit MySQLs Fehler "Die freigegebene Bibliotheksfehler". Das Problem ergibt sich aus der Unfähigkeit von MySQL, die erforderlichen gemeinsam genutzten Bibliotheken (.SO/.dll -Dateien) zu finden. Lösungen beinhalten die Überprüfung der Bibliotheksinstallation über das Paket des Systems m

Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung? Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung? Mar 19, 2025 pm 03:51 PM

In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

Führen Sie MySQL in Linux aus (mit/ohne Podman -Container mit Phpmyadmin) Führen Sie MySQL in Linux aus (mit/ohne Podman -Container mit Phpmyadmin) Mar 04, 2025 pm 03:54 PM

Dieser Artikel vergleicht die Installation von MySQL unter Linux direkt mit Podman -Containern mit/ohne phpmyadmin. Es beschreibt Installationsschritte für jede Methode und betont die Vorteile von Podman in Isolation, Portabilität und Reproduzierbarkeit, aber auch

Was ist SQLite? Umfassende Übersicht Was ist SQLite? Umfassende Übersicht Mar 04, 2025 pm 03:55 PM

Dieser Artikel bietet einen umfassenden Überblick über SQLite, eine in sich geschlossene, serverlose relationale Datenbank. Es beschreibt die Vorteile von SQLite (Einfachheit, Portabilität, Benutzerfreundlichkeit) und Nachteile (Parallelitätsbeschränkungen, Skalierbarkeitsprobleme). C

Ausführen mehrerer MySQL-Versionen auf macOS: Eine Schritt-für-Schritt-Anleitung Ausführen mehrerer MySQL-Versionen auf macOS: Eine Schritt-für-Schritt-Anleitung Mar 04, 2025 pm 03:49 PM

In diesem Handbuch wird die Installation und Verwaltung mehrerer MySQL -Versionen auf macOS mithilfe von Homebrew nachgewiesen. Es betont die Verwendung von Homebrew, um Installationen zu isolieren und Konflikte zu vermeiden. Der Artikel Details Installation, Starten/Stoppen von Diensten und Best PRA

Wie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen? Wie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen? Mar 18, 2025 pm 12:01 PM

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)? Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)? Mar 21, 2025 pm 06:28 PM

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]

See all articles