首页 > 解决方案 > 合并熊猫数据框中的两列或多列

问题描述

我有一个数据框,如下所示:


col_1    col_2    col_3       col_4    col_5        col_6
  234.     61.     71.       age=23   sal=45k.  bonus_sal=61
  462.     371.    73.       age=64   sal=70k.  bonus_sal=66

我想结合 col_4, col_5, col_6 使我的数据框变成:

col_1    col_2    col_3             col_4 
 234.     61.     71.       age=23;sal=45k;bonus_sal=61
 462.     371.    73.       age=64;sal=70k;bonus_sal=66

如何使用熊猫实现这一目标?此外,这只是一个示例数据框。真实的数据框有最后二十列要像这样组合。我怎样才能做到这一点?

标签: python-3.xpandas

解决方案


你可以简单地做:

df['merged_columns'] = df['col_4'].astype(str) + ";" + df['col_5'].astype(str) + ";" + df['col_6'].astype(str) + ";"

这将使他们走到一起。

如果您的数据框中有很多列join,并且具有特定特征,例如col_在它们的名称中(如上面的示例所示),则可以使用列表理解:

cols = [col for col in df.columns if 'col_' in col] 
df['columns_combined'] = df[cols].apply(lambda row: ';'.join(row.values.astype(str)), axis=1)

推荐阅读