Python pandas数据框将2行合并为1行

Posted

技术标签:

【中文标题】Python pandas数据框将2行合并为1行【英文标题】:Python pandas dataframe merge 2 rows into one with keys 【发布时间】:2021-02-08 16:36:20 【问题描述】:

我有 2 个数据框,每个都有一行,具有相同的列:

df1 = feat_1 feat_2 ... feat_n a b c d ... z
          A    B          N    1 2 3 4     9 

df2 = feat_1 feat_2 ... feat_n a b c d ... z
          A    B          N    5 6 1 8     3

feat_1.. feat_n 与 2 行相同,其他列应连接起来,以便新行为:

new_df = feat_1 feat_2 ... feat_n a_1 a_2 b_1 b_2 c_1 c_2 d_1 d_2 ... z_1 z_2
          A    B             N     1   5   2   6   3   1   4   8       9   3

最好的方法是什么?

【问题讨论】:

【参考方案1】:

只需使用合并命令:

new_df = pd.merge(df1, df2, how="inner", on =["feat_1", 'feat_2', 'feat_n'], suffixes=('_1','_2'))

输入:

df1
  feat_1 feat_2 feat_n  a  b
0      A      B      N  1  2

df2
  feat_1 feat_2 feat_n  a  b
0      A      B      N  3  4

代码:

new_df = pd.merge(df1, df2, how="inner", on =["feat_1", 'feat_2', 'feat_n'], suffixes=('_1','_2'))

打印:

  feat_1 feat_2 feat_n  a_1  b_1  a_2  b_2
0      A      B      N    1    2    3    4

【讨论】:

以上是关于Python pandas数据框将2行合并为1行的主要内容,如果未能解决你的问题,请参考以下文章

使用Python / Pandas将两行数据合并为一行

python--pandas合并与连接

python pandas合并数据 按列合并数据 按行合并数据 超简单

如何使用 Python/Pandas 将数据框的其他行合并到当前行

在 Python 中合并 Pandas 数据帧

Pandas 将具有多个值的行数据合并到列的 Python 列表中