Heim > Backend-Entwicklung > Python-Tutorial > Wie erstelle ich einen Pandas-DataFrame aus einem Wörterbuch mit unterschiedlichen Array-Längen?

Wie erstelle ich einen Pandas-DataFrame aus einem Wörterbuch mit unterschiedlichen Array-Längen?

Barbara Streisand
Freigeben: 2024-11-10 14:20:03
Original
1057 Leute haben es durchsucht

How to Create a Pandas DataFrame from a Dictionary with Varying Array Lengths?

Erstellen von DataFrames aus Wörterbüchern mit ungleichmäßigen Eintragslängen

In Python ist es möglich, einen DataFrame aus einem Wörterbuch zu erstellen, in dem jeder Eintrag ein Numpy-Array enthält. Allerdings ergeben sich Herausforderungen, wenn die Array-Längen zwischen den Einträgen variieren. Standardmäßig erfordert Pandas Arrays mit einheitlicher Länge, was zu Fehlern wie „ValueError: Arrays müssen alle die gleiche Länge haben“ führt.

Überwindung der Längendiskrepanz

Zu beheben Bei diesem Problem können wir die Fähigkeit von Pandas nutzen, NaN-Werte (Not-a-Number) als Platzhalter für fehlende Daten zu verwenden. Dadurch können wir effektiv einen DataFrame mit Spalten unterschiedlicher Länge erstellen.

Um dies zu erreichen, können wir jeden Wörterbucheintrag in eine Pandas-Serie umwandeln, ein eindimensionales Array, das fehlende Werte nahtlos verarbeiten kann. Indem wir die Wörterbuchelemente in einen Generatorausdruck einschließen und den Serienkonstruktor verwenden, können wir ein Wörterbuch von Serienobjekten erstellen.

import pandas as pd
import numpy as np

# Sample data with uneven array lengths
data = {
    'A': np.random.randn(5),
    'B': np.random.randn(8),
    'C': np.random.randn(4)
}

# Convert dictionary items to Series
series_dict = dict((k, pd.Series(v)) for k, v in data.items())

# Create DataFrame from the dictionary of Series
df = pd.DataFrame(series_dict)
Nach dem Login kopieren

Ergebnis:

In [1]: df
Out[1]:
        A         B         C
0  1.162543  1.681243  0.191287
1  0.459621  -0.141198 -0.109864
2  -0.866704 -0.128677  -0.511496
3  1.222436  -0.371449 -0.705894
4  -0.980584  1.255133       NaN
5        NaN -0.351051       NaN
6        NaN  0.443017       NaN
7        NaN -1.053693       NaN
Nach dem Login kopieren

Offensichtlich enthält der DataFrame fehlende Werte (NaN), bei denen sich die Array-Längen unterscheiden, sodass wir aus einem Wörterbuch mit unterschiedlichen Array-Längen einen DataFrame mit unterschiedlichen Spaltenlängen erstellen können.

Das obige ist der detaillierte Inhalt vonWie erstelle ich einen Pandas-DataFrame aus einem Wörterbuch mit unterschiedlichen Array-Längen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage