如何在熊猫数据框中执行分组,排序和连接字符串

时间:2019-11-05 20:29:49

标签: python pandas

我有这个熊猫框架:

PK  Line    Text    Source
1   1   The A
1   2   quick   A
1   3   brown   A
2   1   fox A
2   2   jumped  A
3   1   over    A
3   2   the A
3   3   lazy    A
4   1   yellow  A
5   1   dogs    A
5   2   sam A

我需要前往:

PK  Text    Source
1   The quick brown A
2   fox jumped  A
3   over the lazy   A
4   yellow  A
5   dogs sam    A

我尝试过:

record.groupby('PK').apply(Lambda x: (' '.join(x)).sort_values('LINE', ascending))

但它表明我缺少某些东西。 我该如何正确处理?

谢谢!

1 个答案:

答案 0 :(得分:1)

看起来像groupby()和聚合:

df.groupby(['PK', 'Source'], as_index=False).Text.agg(' '.join)

您可以添加sort_values('Line')以确保各行顺序正确,例如

(df.sort_values('Line')
        .groupby(['PK', 'Source'], as_index=False)
        .Text.agg(' '.join)
)

输出:

   PK Source             Text
0   1      A  The quick brown
1   2      A       fox jumped
2   3      A    over the lazy
3   4      A           yellow
4   5      A         dogs sam