Pandas: Kombinieren Sie String- und Int-Spalten
Ich habe folgende DataFrame
:
from pandas import *
df = DataFrame({'foo':['a','b','c'], 'bar':[1, 2, 3]})
Sieht es wie folgt aus:
bar foo
0 1 a
1 2 b
2 3 c
Jetzt will ich sowas haben:
bar
0 1 is a
1 2 is b
2 3 is c
Wie kann ich das erreichen?
Ich habe versucht, die folgenden:
df['foo'] = '%s is %s' % (df['bar'], df['foo'])
aber es gibt mir ein Falsches Ergebnis:
>>>print df.ix[0]
bar a
foo 0 a
1 b
2 c
Name: bar is 0 1
1 2
2
Name: 0
Sorry für eine dumme Frage, aber diese pandas: zwei Spalten zusammenfassen in einem DataFrame war nicht hilfreich für mich.
InformationsquelleAutor der Frage nat | 2012-08-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
df['bar'] = df.bar.map(str) + " is " + df.foo
.InformationsquelleAutor der Antwort BrenBarn
Das problem in Ihrem code, den Sie anwenden möchten, um den Vorgang für jede Zeile. Die Art und Weise, die Sie geschrieben haben, obwohl, nimmt die ganze 'bar' und 'foo' Spalten, konvertiert diese in strings und gibt Ihnen wieder eine große Zeichenfolge. Sie können es schreiben wie:
Es ist länger als die andere Antwort ist aber mehr Generika (kann verwendet werden, mit Werten, die nicht strings).
InformationsquelleAutor der Antwort Daniel Velkov
Könnten Sie auch
InformationsquelleAutor der Antwort chrimuelle
InformationsquelleAutor der Antwort Vladimir Yashin