【问题标题】:Concatenating data in different columns into a single column (pandas, python)将不同列中的数据连接成一列(pandas,python)
【发布时间】:2014-06-10 21:33:04
【问题描述】:

我正在寻找使用 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  

【问题讨论】:

    标签: python excel pandas


    【解决方案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"]

    【讨论】:

    • 好的,我试过了,它大部分都有效。我只需要将吸烟栏中的是/否替换为吸烟/不吸烟。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 2019-10-29
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多