熊猫在字符串列上滚动总和

2023-12-01

我正在使用 Python3 和 pandas 版本“0.19.2”。

我有一个 pandas df 如下:

chat_id    line
1          'Hi.'
1          'Hi, how are you?.'
1          'I'm well, thanks.'
2          'Is it going to rain?.'
2          'No, I don't think so.'

我想按“chat_id”分组,然后在“line”上执行滚动求和之类的操作以获得以下结果:

chat_id    line                     conversation
1          'Hi.'                    'Hi.'
1          'Hi, how are you?.'      'Hi. Hi, how are you?.'
1          'I'm well, thanks.'      'Hi. Hi, how are you?. I'm well, thanks.'
2          'Is it going to rain?.'  'Is it going to rain?.'
2          'No, I don't think so.'  'Is it going to rain?. No, I don't think so.'

我相信 df.groupby('chat_id')['line'].cumsum() 仅适用于数字列。

我还尝试过 df.groupby(by=['chat_id'], as_index=False)['line'].apply(list) 来获取完整对话中所有行的列表,但后来我无法弄清楚了解如何解压该列表以创建“滚动总和”样式的对话列。


对我来说有效apply with Series.cumsum,如果需要分隔符添加space:

df['new'] = df.groupby('chat_id')['line'].apply(lambda x: (x + ' ').cumsum().str.strip())
print (df)
   chat_id                   line                                          new
0        1                    Hi.                                          Hi.
1        1      Hi, how are you?.                        Hi. Hi, how are you?.
2        1      I'm well, thanks.      Hi. Hi, how are you?. I'm well, thanks.
3        2  Is it going to rain?.                        Is it going to rain?.
4        2  No, I don't think so.  Is it going to rain?. No, I don't think so.

df['line'] = df['line'].str.strip("'")
df['new'] = df.groupby('chat_id')['line'].apply(lambda x: "'" + (x + ' ').cumsum().str.strip() + "'")
print (df)
   chat_id                   line  \
0        1                    Hi.   
1        1      Hi, how are you?.   
2        1      I'm well, thanks.   
3        2  Is it going to rain?.   
4        2  No, I don't think so.   

                                             new  
0                                          'Hi.'  
1                        'Hi. Hi, how are you?.'  
2      'Hi. Hi, how are you?. I'm well, thanks.'  
3                        'Is it going to rain?.'  
4  'Is it going to rain?. No, I don't think so.' 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

熊猫在字符串列上滚动总和 的相关文章

随机推荐

  • 获取目录中所有文件夹的列表[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 所以我有一个如下所示的文件系统 Music 001 song mp3 002 song
  • Java 的 NullPointerException 是否可以更改为报告哪个变量为空? [复制]

    这个问题在这里已经有答案了 The NullPointerExceptionin Java 似乎只报告它发生在特定的代码行上 如果一行代码中使用了多个变量 是否可以更改该异常以声明哪个变量为空 不 类文件中的调试信息不 包含足够的信息来允许
  • DataFrame.to_csv 抛出错误“[Errno 2]没有这样的文件或目录”

    我正在尝试将 DataFrame 写入 csv 文件 now datetime datetime now date now strftime Y m d enrichedDataDir export market data temp enr
  • 如何在android中获取sdcard(Secondary)存储路径?

    我正在开发一个文件管理器应用程序 我想向用户显示内部存储和 SD 卡存储 如果存在 对于内部存储我使用Environment getExternalStorageDirectory getPath 如何获得 SD 存储空间 不确定这个解决方
  • 删除数组指针?

    如何删除已经分配给数组的内存models names 我尝试了所有方法 但运行时总是崩溃 int main vector
  • 表排序器排序;多个复选框、多列

    我有一个表格排序器几乎按照我想要的方式运行 只是还有一件事我不知道该怎么做 现在 我有一个表格 您可以在其中按列搜索 并且可以通过按在列的搜索字段中输入值的按钮来快速过滤表格 问题是我希望人们能够选中多个复选框 以便根据此输入过滤表格 这些
  • 如何读取组件中的http状态代码错误

    我知道以前有人问过这个问题 但我似乎找不到答案 如何从 http 读取状态代码 this bookingService save this param subscribe data gt swal title Succes text You
  • 为什么我们在使用 AEM 时扩展 WCMUsePojo 类?

    为什么我们在使用 AEM 时在程序中扩展 WCMUsepojo 抽象类 使用这个类有什么好处 因为在 AEM 的组件开发机制中 您可能需要一种方法来为组件提供后端逻辑 那是因为Sightly 当用作渲染脚本语言而不是JSP页 是一种有限的模
  • golang - 为什么 ++ 和 -- 不能在表达式中工作?

    我们在其他语言中认为理所当然的事情 几乎期望它在 go 中工作 但在 go 中却行不通 这样做几乎是很自然的 那么为什么编译器不高兴呢 有时只是感觉想摆脱困境 增加该值的唯一方法是将其放在自己的单独行中 http play golang o
  • 如何将 TinyMCE 与 NuxtJS 结合使用

    我正在尝试构建一个博客平台 我需要使用文本编辑器 并且我考虑过 CKeditor 和 TinyMCE 但没有关于如何将其与 NuxtJS 一起使用的视频或良好说明 如果有人可以帮助我 我将不胜感激 请不要使用 CDN 而是使用以下解决方案i
  • PHP——将字符串转换为bigint

    我有以下字符串 需要将其转换为整数或 bigint test 99999977706 I tried echo int test echo integer test echo intval test 但他们都给我还了2147483647 如
  • 检查硬件加速可用性? (可测试)

    我编写了使用 webkit transform webkit perspective 和几个类似的 CSS 我的设计在可以使用硬件加速的机器上看起来非常出色 但在不使用硬件加速时实际上无法使用 如何检查硬件加速可用性并提供后备 CSS 旁注
  • urllib2支持抢占式认证吗?

    我正在尝试访问 REST API 我可以让它在 Curl REST Client UI 工具 中工作 并启用抢先身份验证 但是 使用 urllib2 默认情况下它似乎不支持此功能 并且我找不到打开它的方法 谢谢 这是一个简单的抢占式 HTT
  • 使用 keras.utils.Sequence 时,keras Predict_generator 会打乱其输出

    我正在使用 keras 构建一个输入 720x1280 图像并输出值的模型 我有问题keras models Sequential predict generator当使用keras utils Sequence类来获取与验证 训练集上的图
  • SQL Server IN 与 EXISTS 性能

    我很好奇下面哪一个会更有效 我一直对使用有点谨慎IN因为我相信 SQL Server 将结果集变成一个大的IF陈述 对于大型结果集 这可能会导致性能不佳 对于小型结果集 我不确定哪一个更好 对于大型结果集 不会EXISTS更有效率吗 WHE
  • LSTM 与 Keras

    我有一些训练数据x train以及一些相应的标签x train called y train 这是如何x train and y train构造 train x np array np random rand 1 1000 0 for i
  • 将数组复制到数组

    我对数组有一个小问题 我是 C 新手 我尝试复制一个int数组分成另外两个int数组与 unsortedArray randomNumbers unsortedArray2 unsortedArray unsortedArray3 unso
  • cv2.MOTION_EUCLIDEAN 用于ECC图像对齐方法中的warp_mode

    我使用以下方法来对齐图像 当我将 warp mode 定义为 cv2 MOTION TRANSLATION 时 以下代码工作正常 我在具有平移位移的图像上得到了一些相当好的结果 我尝试重复此代码并将 warp mode 更改为 EUCLID
  • 将 Artifactory 升级到最新版本时出现 CATALINA_PID 和 ARTIFACTORY_PID 问题

    在将我的 Artifactory 服务器 免费 OSS 版本 从版本 5 2 0 升级到最新的 5 4 5 时 我遇到了 ARTIFACTORY PID 问题 从 5 3 2 迁移到 5 4 0 后 Artifactory 服务器不想再启动
  • 熊猫在字符串列上滚动总和

    我正在使用 Python3 和 pandas 版本 0 19 2 我有一个 pandas df 如下 chat id line 1 Hi 1 Hi how are you 1 I m well thanks 2 Is it going to