我有以下数据框:
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将始终带来索引,这会弄乱我的字符串。
答案 0 :(得分:4)
你可以使用申请
df['NewCol'] = df.apply(lambda x: "XXXX" + str(x.name) + "XXXX" + str(x.A) + "XXXX" + str(x.B), axis=1)
从@Abdou 开始,还要短一点
df['joined'] = df.apply(lambda x: 'XXXX'+'XXXX'.join(map(str,x)),axis=1)
答案 1 :(得分:1)
您可以尝试这样的事情:
df['newColumn'] = [("XXXX"+str(id)+"XXXX" +str(entry.A) + "XXXX" +str(entry.B)) for id,entry in df.iterrows()]
答案 2 :(得分: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