在pandas数据框中合并多行并按列分组

巴斯卡马克

这就是我的熊猫数据帧的样子。我的要求是根据User_type组合发话列,并按Chat_sequence_number进行排序,并按case_id和Interaction_id对其进行分组

       Case_ID    Interaction_ID  Chat_Sequence_Number User_Type        Utterances
          1          123                   3           Person1            are
          1          123                   4           Person1              you
          1          123                   1           Person1              Hello,
          1          123                   2           Person1              how
          1          123                   5           Person1              feeling?
          1          123                   6           Person2              I'm
          1          123                   6           Person2              fine.

有没有一种方法可以根据上述要求创建新的数据框。我的最终输出应如下所示

Case_ID Interaction_ID User_Type话语1 123 Person1您好,您感觉如何?1123人1我很好。

毛雷拉

您可以按照以下步骤进行操作:

  1. 依Chat_Sequence_Number排序
  2. 按Case_ID,Interaction_ID和User_Type分组
  3. 使用.apply()连接字符串

这项工作在下面的一行中完成

import pandas as pd

# Create the dataframe
df = pd.DataFrame(columns=['Case_ID','Interaction_ID','Chat_Sequence_Number','User_Type','Utterances'])
df['Utterances'] = 'are','you','Hello','how','feeling?',"I'm",'fine.'
df['User_Type'] = ['Person1']*5+['Person2']*2
df['Chat_Sequence_Number'] = 3,4,1,2,5,6,7
df['Case_ID'] = 1
df['Interaction_ID'] = 123

# Do the grouping
output = df.sort_values(['Chat_Sequence_Number']).groupby(['Case_ID','Interaction_ID','User_Type'])['Utterances'].apply(' '.join).reset_index()
print(output)

输出:

   Case_ID  Interaction_ID User_Type                  Utterances
0        1             123   Person1  Hello how are you feeling?
1        1             123   Person2                    I'm fine.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据python中pandas数据框中的列进行分组并按降序排列?(Jupyter笔记本)

来自分类Dev

Pandas:如何合并分组数据框中的值计数

来自分类Dev

数据框按列分组并按范围将其剪切pandas python

来自分类Dev

查找数据框中的连续日期,并按另一个列值分组

来自分类Dev

熊猫分组数据框并按列值排序

来自分类Dev

在列表中查找数据框中的日期,并按ID分组

来自分类Dev

合并数据框时按列分组

来自分类Dev

在 Pandas/Python 中合并数据框中的列值

来自分类Dev

遍历熊猫数据框并按数据分组

来自分类Dev

更改多索引Pandas数据框中的列分组

来自分类Dev

Python Pandas在数据框中合并相同的名称列

来自分类Dev

在1个pandas数据框中合并2列

来自分类Dev

Python Pandas-在数据框中合并两列

来自分类Dev

合并同一 Pandas 数据框中的两列

来自分类常见问题

如何在熊猫数据框中基于单个列(内爆或嵌套)合并多行?

来自分类Dev

将多行合并到数据框列的一行

来自分类Dev

合并多行中的数据

来自分类Dev

Pandas 合并数据框创建 nan 列

来自分类Dev

合并数据框中具有不同值的多行

来自分类Dev

选择最新数据并按列分组

来自分类Dev

选择最新数据并按列分组

来自分类Dev

计算pandas数据框中的共存,以得到按其他列值分组的列值

来自分类Dev

通过将pandas数据框中的单个列分组来创建新列

来自分类Dev

如何在pandas数据框中获取具有部分总和的列(按两列分组)

来自分类Dev

根据一列的总和添加新列,并按Pandas中的其他2列分组

来自分类Dev

根据一列的总和添加新列,并按Pandas中的其他2列分组

来自分类Dev

根据R中的列合并数据框

来自分类Dev

R“合并”到数据框中的列

来自分类Dev

合并数据框中的行和列

Related 相关文章

  1. 1

    如何根据python中pandas数据框中的列进行分组并按降序排列?(Jupyter笔记本)

  2. 2

    Pandas:如何合并分组数据框中的值计数

  3. 3

    数据框按列分组并按范围将其剪切pandas python

  4. 4

    查找数据框中的连续日期,并按另一个列值分组

  5. 5

    熊猫分组数据框并按列值排序

  6. 6

    在列表中查找数据框中的日期,并按ID分组

  7. 7

    合并数据框时按列分组

  8. 8

    在 Pandas/Python 中合并数据框中的列值

  9. 9

    遍历熊猫数据框并按数据分组

  10. 10

    更改多索引Pandas数据框中的列分组

  11. 11

    Python Pandas在数据框中合并相同的名称列

  12. 12

    在1个pandas数据框中合并2列

  13. 13

    Python Pandas-在数据框中合并两列

  14. 14

    合并同一 Pandas 数据框中的两列

  15. 15

    如何在熊猫数据框中基于单个列(内爆或嵌套)合并多行?

  16. 16

    将多行合并到数据框列的一行

  17. 17

    合并多行中的数据

  18. 18

    Pandas 合并数据框创建 nan 列

  19. 19

    合并数据框中具有不同值的多行

  20. 20

    选择最新数据并按列分组

  21. 21

    选择最新数据并按列分组

  22. 22

    计算pandas数据框中的共存,以得到按其他列值分组的列值

  23. 23

    通过将pandas数据框中的单个列分组来创建新列

  24. 24

    如何在pandas数据框中获取具有部分总和的列(按两列分组)

  25. 25

    根据一列的总和添加新列,并按Pandas中的其他2列分组

  26. 26

    根据一列的总和添加新列,并按Pandas中的其他2列分组

  27. 27

    根据R中的列合并数据框

  28. 28

    R“合并”到数据框中的列

  29. 29

    合并数据框中的行和列

热门标签

归档