Konvertieren einer Panda-DF-Liste in eine Zeichenfolge

7

Ich habe einen Panda-Datenrahmen. Eine der Spalten enthält eine Liste. Ich möchte, dass diese Spalte eine einzelne Zeichenfolge ist.

Zum Beispiel sollte meine Liste ['eins', 'zwei', 'drei'] einfach 'eins, zwei, drei' sein.

%Vor%

gibt mir ['eins, zwei, drei], [' vier ',' fünf ',' sechs '], wo die zweite Liste von der nächsten Zeile ist. Unnötig zu sagen, dass bei Millionen von Zeilen diese Verkettung über Zeilen nicht nur falsch ist, sondern auch mein Gedächtnis zerstört.

    
Rusty Coder 20.05.2016, 13:16
quelle

3 Antworten

10

Sie sollten sicherlich nicht in eine Zeichenkette konvertieren, bevor Sie die Liste transformieren. Probieren Sie:

%Vor%

Beachten Sie auch, dass apply die Funktion auf die Elemente der Reihe anwendet. Daher ist df['col'] in der Lambda-Funktion wahrscheinlich nicht das, was Sie wollen.

Bearbeiten : Wie in Yakyms Antwort muss keine Lambda-Funktion verwendet werden , können Sie join direkt anwenden:

%Vor%     
IanS 20.05.2016, 13:22
quelle
6

Wenn Sie col auf str mit astype umwandeln, erhalten Sie eine String-Repräsentation einer Python-Liste, Klammern und alle. Sie müssen das nicht tun, nur apply join direkt:

%Vor%     
Yakym Pirozhenko 20.05.2016 13:22
quelle
5

Sie können Ihre Liste in str mit astype(str) konvertieren und dann ' , [ , ] Zeichen entfernen. Verwenden von @Yakim Beispiel:

%Vor%

Timing

%Vor%     
Anton Protopopov 20.05.2016 13:34
quelle

Tags und Links