2016-05-27 4 views
-1

Ich weiß nicht, warum ich das nicht herausfinden kann. Aber ich habe eine Zahlenspalte, die ich in eine Liste von Strings umwandeln möchte. Ich sollte dies erwähnen, wenn ich dies zum ersten Mal gepostet habe, aber das ist kein DataFrame oder stammt es aus einer Datei, dies ist ein Ergebnis eines Codes, Entschuldigung versuchte nicht, irgendjemandes Zeit zu verschwenden, ich wollte einfach nicht fügen Sie eine Menge Unordnung hinzu. Genau so druckt es aus.Wie wird die Spalte der Zahl in eine Liste von Strings umgewandelt?

Hier ist meine Spalte von Zahlen.

3,1,3 
3,1,3 
3,1,3 
3,3,3 
3,1,1 

Und ich möchte, dass sie so aussehen.

['3,1,3', '3,1,3', '3,1,3', '3,3,3', '3,1,1'] 

Ich versuche, einen Weg zu finden, die nicht abhängig von, wie viele Zahlen in jeder Reihe sind oder wie viele Sätze von Zahlen in der Spalte sind.

Danke, wirklich zu schätzen wissen.

+0

Sind die Zahlenspalte einer Datei? – RafaelC

+0

Ist das eine Datei? Was hat es mit Pandas zu tun? –

+0

Nur Zahlen, ich weiß nicht, ich mag die Effizienz von Pandas. –

Antwort

0

Angenommen, Sie mit einem Datenrahmen beginnen

df = pd.DataFrame([[3, 1, 3], [3, 1, 3], [3, 1, 3], [3, 3, 3], [3, 1, 1]]) 

df.astype(str).apply(lambda x: ','.join(x.values), axis=1).values.tolist() 

Sieht aus wie:

['3,1,3', '3,1,3', '3,1,3', '3,3,3', '3,1,1'] 
0
def foo(): 
    l = [] 
    with open("file.asd", "r") as f: 
     for line in f: 
      l.append(line) 
    return l 
0

Ihre Datenrahmen, um Strings zu aktivieren, verwenden Sie die astype Funktion:

df = pd.DataFrame([[3, 1, 3], [3, 1, 3], [3, 1, 3], [3, 3, 3], [3, 1, 1]]) 
df = df.astype('str') 

Dann manipuliere deine Spalten einfach werden, können Sie zum Beispiel eine neue Spalte erstellen:

In [29]: 

df['temp'] = df[0] + ',' + df[1] + ',' + df[2] 
df 
Out[29]: 
0 1 2 temp 
0 3 1 3 3,1,3 
1 3 1 3 3,1,3 
2 3 1 3 3,1,3 
3 3 3 3 3,3,3 
4 3 1 1 3,1,1 

Und dann kompakt in eine Liste:

In [30]: 

list(df['temp']) 
Out[30]: 
['3,1,3', '3,1,3', '3,1,3', '3,3,3', '3,1,1'] 
Verwandte Themen