2016-11-04 8 views
1

に基づいて、文字列の列を作成します。私はインデックスを含む以前のコラムを、連結した文字列を持つ別のcolunmnを作成できるようにしたい私は、次のデータフレーム持っている列の値とインデックスパンダ

A B 
Tenor  
1 15.1726 0.138628 
2 15.1726 0.147002 
3 15.1726 0.155376 
4 15.1726 0.163749 
5 15.1726 0.172123 

を。たとえば、この新しい列の最初の行は次のようになります:XXXX1XXXX15.1726XXXX0.138628

パンダではどうすればいいですか?私が文字列式でdf [ColumnName]を使用しようとすると、Pandasは常にインデックスを持ち出します。あなたは@Abdou

df['joined'] = df.apply(lambda x: 'XXXX'+'XXXX'.join(map(str,x)),axis=1) 

答えて

0

私は、これが

df.reset_index().applymap('XXXX{}'.format).sum(1) 

0 XXXX1XXXX15.1726XXXX0.138628 
1 XXXX2XXXX15.1726XXXX0.147002 
2 XXXX3XXXX15.1726XXXX0.155376 
3 XXXX4XXXX15.1726XXXX0.163749 
4 XXXX5XXXX15.1726XXXX0.172123 
dtype: object 
3

あなたはこのような何かを試すことができます。

df['newColumn'] = [("XXXX"+str(id)+"XXXX" +str(entry.A) + "XXXX" +str(entry.B)) for id,entry in df.iterrows()] 
+0

'のDFが面白いと思った[ '接合'] = df.apply(ラムダX 'XXX' + 'XXX'.join(マップ(STR、x))が、軸= 1)'より短くする必要があります。 – Abdou

+0

スティーブン、私はあなたが示したものを複製できませんでした。とにかくありがとう。 – Guga

1

から、また、少し短い

df['NewCol'] = df.apply(lambda x: "XXXX" + str(x.name) + "XXXX" + str(x.A) + "XXXX" + str(x.B), axis=1) 

を適用し使用することができます

おかげで、 アウグスト

+0

ありがとう!それはまさに私が望んでいたものです – Guga

関連する問題