pandas Groupby和Join在Python 3.7中排除输出数据框中的一列

bpsygsoo  于 2023-08-01  发布在  Python
关注(0)|答案(1)|浏览(85)

我有一个包含以下列的数据框架。

col1   col2      col3   col4   col5    col6
A20    hghjfg    jhdf   A20.1  abcd    direct
A20    hghjfg    jhdf   A20.2  edfg    direct
A20    hghjfg    jhdf   A20.3  rtzu    direct

字符串
我想按此数据框分组,并连接其他列中的唯一值。我期待以下数据框架

col1   col2      col3   col4                    col5                    col6
A20    hghjfg    jhdf   A20.1 | A20.2 | A20.3   abcd | edfg | rtzu      direct


我使用下面的Python代码来实现这一点。

join_unique = lambda x: ' | '.join(x.unique())
df.groupby(['col1'], as_index=False).agg(join_unique)


但是,当我这样做时,输出中只有col1、col2、col3、col4和col6。

col1   col2      col3   col4                    col6
A20    hghjfg    jhdf   A20.1 | A20.2 | A20.3   direct


为什么CO5不在那里如何将其包含在最终数据框架中。
任何帮助都是非常感谢的

snz8szmq

snz8szmq1#

你能把结果赋值回数据框吗

join_unique = lambda x: ' | '.join(x.unique())

df=df.groupby(['col1'], as_index=False).agg(
    join_unique
)

print(df)

字符串
收到以下输出:

col1    col2  col3                   col4                col5    col6
0  A20  hghjfg  jhdf  A20.1 | A20.2 | A20.3  abcd | edfg | rtzu  direct

相关问题