Heim  >  Artikel  >  Backend-Entwicklung  >  Fortgeschrittene Techniken und praktische Anwendungen der Pandas-Datenfilterung

Fortgeschrittene Techniken und praktische Anwendungen der Pandas-Datenfilterung

PHPz
PHPzOriginal
2024-01-24 08:28:061047Durchsuche

Fortgeschrittene Techniken und praktische Anwendungen der Pandas-Datenfilterung

Pandas ist ein leistungsstarkes Datenverarbeitungs- und Analysetool. Es bietet viele flexible Funktionen und Methoden zum einfachen Filtern und Verarbeiten von Daten. In diesem Artikel werden mehrere fortgeschrittene Techniken zur Pandas-Datenfilterung vorgestellt und anhand konkreter Fälle spezifische Codebeispiele bereitgestellt.

1. Grundlegende Datenfilterung

Pandas bietet eine Vielzahl von Methoden zur Durchführung grundlegender Datenfilterung, z. B. die Verwendung des Booleschen Index, der Loc- oder Iloc-Methode usw. Hier sind einige häufige grundlegende Fälle der Datenfilterung.

  1. Boolesche Indexfilterung

Der Boolesche Index kann zum Filtern von Daten basierend auf bestimmten Bedingungen verwendet werden. Wir haben beispielsweise einen Datenrahmen mit Studenteninformationen und möchten Studenten mit einer Punktzahl von mehr als 60 Punkten herausfiltern. Es kann mit dem folgenden Code implementiert werden:

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '成绩': [80, 70, 90, 50]
}

df = pd.DataFrame(data)
df_filtered = df[df['成绩'] > 60]

print(df_filtered)
  1. loc-Methodenfilterung

loc-Methode kann Daten basierend auf Zeilenbeschriftungen und Spaltenbeschriftungen filtern. Wir haben beispielsweise einen Datenrahmen mit Schülerinformationen und möchten die Noten und das Alter der Schüler Zhang San und Li Si herausfiltern. Dies kann mit dem folgenden Code erreicht werden:

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '成绩': [80, 70, 90, 50],
    '年龄': [18, 19, 20, 21]
}

df = pd.DataFrame(data)
df_filtered = df.loc[df['姓名'].isin(['张三', '李四']), ['成绩', '年龄']]

print(df_filtered)

2. Erweiterte Datenfilterung

Zusätzlich zu den grundlegenden Datenfilterungsmethoden bietet Pandas auch viele erweiterte Datenfilterungstechniken, wie z. B. die Verwendung der Abfragemethode und die Verwendung des Indexobjekts MultiIndex für Multi -Level-Filterung. Nachfolgend finden Sie einige Falldarstellungen.

  1. Abfragemethodenfilterung

Abfragemethode kann Daten durch SQL-ähnliche Syntax filtern. Wir haben beispielsweise einen Datenrahmen mit Schülerinformationen und möchten Schüler herausfiltern, deren Punktzahl über 60 liegt und die zwischen 18 und 20 Jahre alt sind. Dies kann mit dem folgenden Code erreicht werden:

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '成绩': [80, 70, 90, 50],
    '年龄': [18, 19, 20, 21]
}

df = pd.DataFrame(data)
df_filtered = df.query('成绩 > 60 and 18 <= 年龄 <= 20')

print(df_filtered)
  1. MultiIndex-Filterung verwenden

Wenn der Datenrahmen über mehrere Indexebenen verfügt, können Sie das MultiIndex-Objekt für die mehrstufige Filterung verwenden. Wir haben beispielsweise einen Datenrahmen mit Schülerinformationen. Der Index umfasst zwei Ebenen: Klasse und Schülernummer. Wir möchten Schüler mit den Schülernummern 001 und 002 in Klasse 1 herausfiltern. Dies kann mit dem folgenden Code erreicht werden:

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '成绩': [80, 70, 90, 50],
}

index = pd.MultiIndex.from_tuples([('1班', '001'), ('1班', '002'), ('2班', '001'), ('2班', '002')])
df = pd.DataFrame(data, index=index)
df_filtered = df.loc[('1班', ['001', '002']), :]

print(df_filtered)

3. Fallanalyse

Nun nehmen wir einen realen Datensatz als Beispiel, um die fortgeschrittenen Techniken der Pandas-Datenfilterung weiter zu veranschaulichen. Angenommen, wir verfügen über einen Datensatz zu Autoverkäufen, der Informationen wie Fahrzeugmarke, Modell, Verkaufsvolumen und Verkaufsvolumen enthält. Wir wollen Modelle mit mehr als 1.000 verkauften Einheiten und mehr als 1 Million Verkäufen herausfiltern. Das Folgende ist ein Codebeispiel:

import pandas as pd

data = {
    '品牌': ['宝马', '奥迪', '奔驰', '大众'],
    '型号': ['X3', 'A6', 'E级', '朗逸'],
    '销售量': [1200, 800, 1500, 900],
    '销售额': [1200, 900, 1800, 800]
}

df = pd.DataFrame(data)
df_filtered = df.query('销售量 > 1000 and 销售额 > 1000000')

print(df_filtered)

Mit dem obigen Code haben wir erfolgreich Modelle mit einem Umsatz von mehr als 1.000 Einheiten und einem Umsatz von mehr als 1 Million Yuan herausgefiltert.

Zusammenfassend lässt sich sagen, dass Pandas eine Fülle von Datenfilterungsfunktionen und -methoden bietet, von einfachen booleschen Index-, Loc- und Iloc-Methoden bis hin zu erweiterten Abfragemethoden und MultiIndex-Filterung, die die Datenfilterungsanforderungen in verschiedenen Szenarien erfüllen können. Die oben genannten Fälle veranschaulichen einige gängige Datenfiltertechniken und -anwendungen und hoffen, den Lesern bei praktischen Anwendungen hilfreich zu sein.

Das obige ist der detaillierte Inhalt vonFortgeschrittene Techniken und praktische Anwendungen der Pandas-Datenfilterung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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