将不同列中的数据连接成一列(pandas,python)

时间:2014-06-10 21:33:04

标签: python excel pandas

我正在寻找逻辑,使用python中的pandas将许多列中的值与.xlsx文件中的相关数据连接成一个列。组合每个不同列的逻辑将根据列包含的信息而有所不同。例如:

input:  
ID,when_carpool,smoking,vehicle,passengers  
0,weekdays,yes,truck,3  
1,weekends,no,sedan,4  
2,weekdays,no,van,6  
3,weekdays,no,van,5  
4,weekends,yes,sedan,3 

我有数千个要处理的行,请注意我想要转换'冒烟'列的值,因此它不是所有列的简单连接。

output:  
ID,carpool_info  
0,weekdays+smoking+truck+3  
1,weekends+nonsmoking+sedan+4  
2,weekdays+nonsmoking+van+6  
3,weekdays+nonsmoking+van+5  
4,weekends+smoking+sedan+3  

1 个答案:

答案 0 :(得分:1)

将所有列加入一个新列:

  df["carpool_info"] =  df.apply(lambda x: "+".join([str(x[i]) for i in range(len(x))]),axis=1) 

然后删除您不需要的其他列(另请参见此处:Delete column from pandas DataFrame),或者只使用该系列      carpool_Info = df [" carpool_info"]