Ich habe einen n- mal- m Pandas DataFrame df
wie folgt definiert. (Ich weiß, dass dies nicht der beste Weg ist, dies zu tun. Es ist sinnvoll für das, was ich in meinem eigentlichen Code versuche, aber das wäre TMI für diesen Beitrag. Nehmen Sie also einfach mein Wort, dass dieser Ansatz in meinem speziellen Szenario funktioniert .)
>>> df = DataFrame(columns=['col1'])
>>> df.append(Series([None]), ignore_index=True)
>>> df
Empty DataFrame
Columns: [col1]
Index: []
Ich habe Listen in den Zellen dieses DataFrame wie folgt gespeichert.
>>> df['column1'][0] = [1.23, 2.34]
>>> df
col1
0 [1, 2]
Aus irgendeinem Grund hat der DataFrame diese Liste als Zeichenfolge anstelle einer Liste gespeichert.
>>> df['column1'][0]
'[1.23, 2.34]'
Ich habe 2 Fragen an Sie.
- Warum speichert der DataFrame eine Liste als Zeichenfolge und gibt es einen Weg, um dieses Verhalten zu umgehen?
- Wenn nicht, gibt es dann eine pythonische Möglichkeit, diese Zeichenfolge in eine Liste umzuwandeln?
Aktualisieren
Der von mir verwendete DataFrame wurde gespeichert und aus einem CSV-Format geladen. Dieses Format konvertierte die Liste anstelle des DataFrame selbst von einer Zeichenfolge in ein Literal.