将聊天数据划分为会话

Buddingcoder

过去一年中,我在csv中有与客户聊天的数据。这都是按照其时间戳记的顺序进行的。我想按每个客户划分会话,以便可以分析单独的聊天会话。

Timestamp            Customer        Message
2019-06-22 04:37:32     x        Hello, I price for 10 pens?
2019-06-22 04:38:11     y        what's the price of a new book?
2019-06-22 04:38:23     x        can you place an order for 9 only
2019-06-22 05:12:10     y        Ok I want to order 1
2019-06-22 05:17:45     z        Hello 
2019-06-22 06:31:12     x        Please cancel my order
2019-06-23 12:13:02     y        I want to place an order for 100 pencils 

我希望以某种方式细分这些数据,以便可以根据某个时间范围然后由客户对它们进行分组。如果还有更好的方法,将其划分为聊天会话,我会非常高兴。谢谢。

人妖

一个开始是将一个时间段(例如60分钟)内的数据集分组,count在每个时间范围内每个客户多少消息,以及每个客户list()所有消息:

import pandas as pd
from datetime import datetime

# Convert to timestamp if needed
df['Timestamp'] = pd.to_datetime(df['Timestamp'], errors='coerce')  

# Perform the operation
res = df.groupby([pd.Grouper(key='Timestamp', freq='60min'),'Customer']).agg({'Message': lambda m: m.tolist(),'Customer':'count'})

# Rename the columns
res.rename(columns = {'Customer':'cust_msgs_per_hour'},inplace=True)

以上将为您提供:

res.sort_values('Customer')
Out[264]: 
                                                                        Message  cust_msgs_per_hour
Timestamp           Customer                                                                       
2019-06-22 04:00:00 x         [Hello, I price for 10 pens?, can you place an...                   2
2019-06-22 06:00:00 x                                  [Please cancel my order]                   1
2019-06-22 04:00:00 y                         [what's the price of a new book?]                   1
2019-06-22 05:00:00 y                                    [Ok I want to order 1]                   1
2019-06-23 12:00:00 y                [I want to place an order for 100 pencils]                   1
2019-06-22 05:00:00 z                                                   [Hello]                   1

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将聊天数据划分为会话

来自分类Dev

将聊天数据划分为会话

来自分类Dev

将聊天数据划分为会话

来自分类Dev

pandas如何将数据划分为夜间数据和白天数据

来自分类Dev

SQL将数据划分为行

来自分类Dev

Quickblox聊天数据复制

来自分类Dev

为什么聚合将数据集划分为子组?

来自分类Dev

Spark-将数据框划分为n个记录

来自分类Dev

谁的责任是将数据划分为PE或块?

来自分类Dev

将数据帧子集划分为相等的子组块

来自分类Dev

使用 inf Python 将数据划分为 bin

来自分类Dev

将点划分为区域

来自分类Dev

将表划分为子表

来自分类Dev

将网络划分为子网

来自分类Dev

将任务划分为类别

来自分类Dev

将整数划分为范围

来自分类Dev

聊天数据库模型

来自分类Dev

如何更改火箭聊天数据目录

来自分类Dev

数据如何划分为数据包?

来自分类Dev

根据特定列上的数据将数据文件划分为新文件

来自分类Dev

SSAS-分类-如何将数据划分为:训练集-验证集-测试集

来自分类Dev

如何将数据集划分为类之间的训练和验证集保持率?

来自分类Dev

根据数据将一个主题划分为不同的主题

来自分类Dev

使用group_by将数据划分为五分位数

来自分类Dev

熊猫数据框将特征划分为高相关性组

来自分类Dev

根据列将数据集划分为子集,并对子集执行重复操作

来自分类Dev

SSAS-分类-如何将数据划分为:训练集-验证集-测试集

来自分类Dev

如何将大字符串数据划分为多个页面或活动,片段或翻转

来自分类Dev

根据值将数据帧划分为三个子帧