suchen
HeimBackend-EntwicklungPython-TutorialWie kann ich Pandas-DataFrames effizient schmelzen und entschmelzen?

How Can I Efficiently Melt and Unmelt Pandas DataFrames?

Einen Pandas-Datenrahmen schmelzen

Einführung

In Pandas umfasst das Schmelzen von Datenrahmen das Transponieren von Daten von einem Breitformat in ein Langformat Format, wodurch es für verschiedene Datenbearbeitungsaufgaben nützlich ist. Dieser Artikel führt Sie durch den Prozess des Verschmelzens von Datenrahmen und untersucht verschiedene Szenarien anhand von Beispielen aus der Praxis.

Problem 1: Transponieren von Spaltendaten

Ziel: Transponieren Sie Spalten in Zeilen und wiederholen Sie dabei die ursprüngliche Spalte Namen.

Lösung:

df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')

Dieser Code erstellt einen neuen Datenrahmen mit den Spalten „Betreff“ und „Noten“, während die ursprünglichen Spaltennamen wiederholt werden für jeden Zeile.

Beispiel:

df = pd.DataFrame({'Name': ['Bob', 'John', 'Foo', 'Bar', 'Alex', 'Tom'],
                   'Math': ['A+', 'B', 'A', 'F', 'D', 'C'],
                   'English': ['C', 'B', 'B', 'A+', 'F', 'A'],
                   'Age': [13, 16, 16, 15, 15, 13]})

melted_df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')

print(melted_df)

Ausgabe:

   Name  Age Subject Grades
0   Bob   13  English     C
1  John   16  English     B
...
11  Tom   13     Math     C

Problem 2: Spalten filtern

Ziel: Schmelzspezifisch Spalten, ausgenommen andere.

Lösung:

df.melt(id_vars=['Name', 'Age'], value_vars='Math', var_name='Subject', value_name='Grades')

In diesem Beispiel wird nur die Spalte „Mathe“ zusammengeführt, während „Alter“ und „Name“ beibehalten werden als Bezeichner.

Beispiel:

melted_df = df.melt(id_vars=['Name', 'Age'], value_vars='Math', var_name='Subject', value_name='Grades')

print(melted_df)

Ausgabe:

   Name  Age Subject Grades
0   Bob   13    Math    A+
1  John   16    Math     B
...

Problem 3: Gruppierung und Bestellung geschmolzen Daten

Ziel: Die geschmolzenen Daten gruppieren und nach Werten sortieren.

Lösung:

melted_df.groupby('value', as_index=False).agg({
    'Subject': ', '.join,
    'Grades': ', '.join
}).sort_values('value', ascending=True)

Dieser Code gruppiert die geschmolzenen Daten nach Punktzahl und verknüpft die Werte „Betreff“ und „Noten“ mit Kommas.

Beispiel:

grouped_df = melted_df.groupby('value', as_index=False).agg({
    'Subject': ', '.join,
    'Grades': ', '.join
}).sort_values('value', ascending=True)

print(grouped_df)

Ausgabe:

  value             Name                Subjects
0     A         Foo, Tom           Math, English
1    A+         Bob, Bar           Math, English
2     B  John, John, Foo  Math, English, English
...

Problem 4: Unschmelzende Datenrahmen

Ziel: Kehren Sie den Schmelzvorgang um und kehren Sie zum ursprünglichen Format zurück.

Lösung:

melted_df.pivot_table("Grades", ['Name', 'Age'], 'Subject', aggfunc='first').reset_index()

Dieser Code dreht den geschmolzenen Datenrahmen zurück auf die ursprüngliche Breite Format.

Beispiel:

unmelted_df = melted_df.pivot_table("Grades", ['Name', 'Age'], 'Subject', aggfunc='first').reset_index()

print(unmelted_df)

Ausgabe:

   Name  Age Math English
0   Alex   15    D       F
1   Bar   15    F      A+
2   Bob   13   A+       C
3   Foo   16    A       B
...

Problem 5: Gruppieren und Spalten kombinieren

Ziel: Gruppieren Sie Daten nach einer bestimmten Spalte und kombinieren Sie andere Spalten mit Kommas.

Lösung:

melted_df.groupby('Name', as_index=False).agg(
    Subjects=', '.join,
    Grades=', '.join
)

Dieser Code gruppiert die Daten nach „Name“ und kombiniert „Betreff“. ' und 'Noten' mit Kommas.

Beispiel:

grouped_df = melted_df.groupby('Name', as_index=False).agg(
    Subjects=', '.join,
    Grades=', '.join
)

print(grouped_df)

Ausgabe:

   Name        Subjects Grades
0  Alex  Math, English   D, F
1   Bar  Math, English  F, A+
2   Bob  Math, English  A+, C
...

Problem 6: Alles schmelzen Spalten

Ziel: Konvertieren alle Spalten in Zeilen, einschließlich Bezeichnern.

Lösung:

df.melt(var_name='Column', value_name='Value')

Dieser Code verschmilzt alle Spalten in Zeilen und behandelt alle Daten als Werte.

Beispiel:

melted_df = df.melt(var_name='Column', value_name='Value')

print(melted_df)

Ausgabe:

    Column Value
0       Age    16
1       Age    16
2       Age    15
...
11  English     C
12     Math     A
13     Math    A+

Das obige ist der detaillierte Inhalt vonWie kann ich Pandas-DataFrames effizient schmelzen und entschmelzen?. 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
Python: Compiler oder Dolmetscher?Python: Compiler oder Dolmetscher?May 13, 2025 am 12:10 AM

Python ist eine interpretierte Sprache, enthält aber auch den Zusammenstellungsprozess. 1) Python -Code wird zuerst in Bytecode zusammengestellt. 2) Bytecode wird von Python Virtual Machine interpretiert und ausgeführt. 3) Dieser Hybridmechanismus macht Python sowohl flexibel als auch effizient, aber nicht so schnell wie eine vollständig kompilierte Sprache.

Python für Loop vs während der Schleife: Wann zu verwenden, welches?Python für Loop vs während der Schleife: Wann zu verwenden, welches?May 13, 2025 am 12:07 AM

UseaforloopwheniteratoverasequenceOrforaPecificNumberoftimes; UseaWhileloopWencontiningUntilAconDitionisMet.ForloopsardealForknown -Sequencies, während whileloopSuituationen mithungeterminediterationen.

Python Loops: Die häufigsten FehlerPython Loops: Die häufigsten FehlerMay 13, 2025 am 12:07 AM

PythonloopscanleadtoErors-ähnliche Finanzeloops, ModificingListsDuringiteration, Off-by-Oneerrors, Zero-Indexingissues und Nestroxinefficiens.toavoidthese: 1) Verwenden Sie

Für Schleife und während der Schleife in Python: Was sind die Vorteile von jedem?Für Schleife und während der Schleife in Python: Was sind die Vorteile von jedem?May 13, 2025 am 12:01 AM

ForloopSareadVantageousForknowniterations und Sequences, OfferingImplicity und Readability;

Python: Ein tiefes Eintauchen in Zusammenstellung und InterpretationPython: Ein tiefes Eintauchen in Zusammenstellung und InterpretationMay 12, 2025 am 12:14 AM

PythonusesahybridmodelofCompilation und Interpretation: 1) thepythonInterPreterCompilessourceCodeIntoplatform-unintenpendentBytecode.2) Thepythonvirtualmachine (PVM) ThenexexexexecthisByTeCode, BalancingeAnsewusewithperformance.

Ist Python eine interpretierte oder eine kompilierte Sprache, und warum ist es wichtig?Ist Python eine interpretierte oder eine kompilierte Sprache, und warum ist es wichtig?May 12, 2025 am 12:09 AM

Pythonisbothinterpreted und kompiliert.1) ItscompiledToByteCodeForPortabilityAcrossplatform.2) thytecodeTheninterpreted, und das ErlaubnisfordyNamictyPingandRapidDevelopment zulässt, obwohl es sich

Für Schleife vs während der Schleife in Python: Schlüsselunterschiede erklärtFür Schleife vs während der Schleife in Python: Schlüsselunterschiede erklärtMay 12, 2025 am 12:08 AM

ForloopsaridealWenyouKnowtHenumberofofiterationssinadvance, während whileloopsarebetterForsituationswhereyouneedtoloopuntilaconditionismet.forloopsaremoreffictionAndable, geeigneter Verfaserungsverlust, whereaswiloopsofofermorcontrolanduseusefulfulf

Für und während Schleifen: ein praktischer LeitfadenFür und während Schleifen: ein praktischer LeitfadenMay 12, 2025 am 12:07 AM

Forloopsareusedwhenthenumberofiterationsisknowninadvance,whilewhileloopsareusedwhentheiterationsdependonacondition.1)Forloopsareidealforiteratingoversequenceslikelistsorarrays.2)Whileloopsaresuitableforscenarioswheretheloopcontinuesuntilaspecificcond

See all articles

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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Mandragora: Flüstern des Hexenbaum
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.