Heim > Artikel > Backend-Entwicklung > Wie füge ich eine Liste effektiv in eine bestimmte Zelle eines Pandas DataFrame ein?
Bei der Arbeit mit Datenrahmen ist es oft notwendig, den Inhalt einzelner anzupassen Zellen. In diesem Fall besteht die Aufgabe darin, eine bestimmte Liste, „abc“, in Zelle 1B in einem Datenrahmen einzufügen. Es wurden verschiedene Versuche unternommen, aber jeder stieß auf seine eigenen Herausforderungen.
Zunächst führte ein Versuch, die gesamte Liste mit df.ix[1,'B'] = abc direkt der Zelle zuzuweisen, zu einem ValueError aufgrund einer Nichtübereinstimmung der Anzahl der Schlüssel und Werte. Wenn Sie stattdessen df.ix[1,'B'] = [abc] verwenden, wird eine Liste mit der Liste „abc“ als einzigem Element erstellt, was nicht erwünscht ist.
Konvertieren der Liste in einen String mit df. ix[1,'B'] = ', '.join(abc) erzeugt den beabsichtigten Inhalt als String und nicht als Liste. In ähnlicher Weise wird durch die Verwendung von df.ix[1,'B'] = [', '.join(abc)] eine Liste mit einem einzelnen Zeichenfolgenelement erstellt.
Nachfolgende Versuche, die Liste in komplexere Datenrahmen einzufügen Bei Spaltentypen, die sowohl Ganzzahlen als auch Zeichenfolgen umfassen, tritt ein Fehler auf. Dies deutet darauf hin, dass das Problem in den gemischten Datentypen der Spalten liegt.
Um dieses Problem zu beheben, wird empfohlen, das at-Attribut anstelle von loc zu verwenden. Diese Methode bezieht sich konsistent auf einen einzelnen Wert und vermeidet so die Probleme, die bei „loc“ auftreten. Darüber hinaus verhindert die Sicherstellung, dass die Spalte, in die eingefügt wird, dtype=object hat, weitere Fehler.
Zum Beispiel fügt der folgende Code die „abc“-Liste erfolgreich in Zelle 1B des df2-Datenrahmens ein:
import pandas as pd abc = ['foo', 'bar'] df2 = pd.DataFrame(data={'A': [12, 23], 'B': [None, None], 'C': ['bla', 'bla bla']}) df2['B'] = df2['B'].astype('object') # Ensure 'B' has dtype=object df2.at[1, 'B'] = abc print(df2)
Ausgabe:
A B C 0 12 NaN bla 1 23 [foo, bar] bla bla
Das obige ist der detaillierte Inhalt vonWie füge ich eine Liste effektiv in eine bestimmte Zelle eines Pandas DataFrame ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!