Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich eine Liste in eine bestimmte Zelle in einem Python Pandas-Datenrahmen einfügen?

Wie kann ich eine Liste in eine bestimmte Zelle in einem Python Pandas-Datenrahmen einfügen?

Patricia Arquette
Freigeben: 2024-10-29 13:34:29
Original
456 Leute haben es durchsucht

How Can I Insert a List into a Specific Cell in a Python Pandas Dataframe?

Liste in eine Zelle im Python Pandas-Datenrahmen einfügen

Das Einfügen einer Liste in eine bestimmte Zelle in einem Pandas-Datenrahmen kann eine knifflige Aufgabe sein. Lassen Sie uns die verschiedenen Ansätze und potenziellen Probleme anhand des gegebenen Beispiels untersuchen:

Ursprüngliches Problem:

Ein Datenrahmen „df“ mit der folgenden Struktur:

    A  B
0  12  NaN
1  23  NaN
Nach dem Login kopieren

und eine Liste 'abc' mit ['foo', 'bar']. Das Ziel besteht darin, diese Liste in Zelle 1B einzufügen.

Bemühungen:

  1. df.ix[1,'B'] = abc: Löst einen ValueError aus aufgrund ungleicher Länge von Schlüsseln und Werten.
  2. df.ix[1,'B'] = [abc]: Fügt eine Liste ein, die die 'abc'-Liste anstelle einzelner Elemente enthält.
  3. df.ix[1,'B'] = ', '.join(abc): Fügt einen String anstelle einer Liste ein.
  4. df.ix[1,'B'] = [', '. join(abc)]: Fügt eine Ein-Element-Liste ein, die die verbundene Zeichenfolge enthält.

Lösung:

Die veraltete set_value-Methode wurde durch at ersetzt. Die Verwendung von „at“ garantiert das Festlegen eines einzelnen Werts:

<code class="python">df.at[1, 'B'] = ['foo', 'bar']</code>
Nach dem Login kopieren

Zusätzliche Überlegungen:

  • Stellen Sie sicher, dass die Zielspalte über dtype=object verfügt, um das Einfügen in die Liste zu ermöglichen.
  • Der gleiche Ansatz kann zum Einfügen von Listen in Zellen mit Ganzzahl- oder Zeichenfolgenwerten angewendet werden.
  • Beim Einfügen einer Liste in eine Spalte mit gemischten Datentypen (Ganzzahl und Zeichenfolge) kann jedoch ein ValueError auftreten geschehen. Dies kann gelöst werden, indem die Spalte vor dem Einfügen in dtype=object konvertiert wird.

Aktualisiertes Beispiel:

Einfügen der „abc“-Liste in df2.loc[ 1,'B'] und df3.loc[1,'B']:

<code class="python">df2 = pd.DataFrame({
    'A': [12],
    'B': [nan],
    'C': ['bla']
})

df3 = pd.DataFrame({
    'A': [12],
    'B': [nan],
    'C': ['bla bla'],
    'D': [['item1', 'item2'], [11, 12, 13]]
})

df2.loc[1, 'B'] = ['foo', 'bar']
df3.loc[1, 'B'] = ['foo', 'bar']</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich eine Liste in eine bestimmte Zelle in einem Python Pandas-Datenrahmen einfügen?. 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