用于集群生成的Groupby

2024-04-25 10:45:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何按日期/时间对以下数据集进行分组:

     T                   Text
75  -1 days +20:07:00   orms
34  -1 days +22:07:00   rinanews
23  00:07:00            wrwfs
19  02:07:00            wwf 
28  03:07:00            geological
... ... ...
58  15:07:00            chrew
42  15:07:00            Liverpool 
27  15:07:00            seafood

以上列表仅按日期排序。我想将这些因素按日期分组,并绘制由该分组生成的聚类

有没有关于我怎么做的建议

我试过当df2.groupby(['T', 'Text'])。但它没有显示任何东西


1条回答
网友
1楼 · 发布于 2024-04-25 10:45:29

不清楚您试图做什么,但是.groupby()返回一个对象(不是数据帧)。这个对象包含一个元组列表,每个元组都包含(tuple_of_group_labels, list_of_group_indexes),因此在您使用的行中,每个元组的第一个元素本身就是一个元组,包含TText的所有唯一组合,第二个元素是一个列表,其中包含属于每个组的行的索引

例如,groupby object中的最后一项是一个元组,其中包含一个元组和一个列表((15:07:00, 'seafood'), [27, ])

从这里到哪里去

这完全取决于你想对每个小组做什么。可能的选择包括:

  • .aggregate():总和、平均值、大小/计数、最大值、最小值以及更多
  • .apply():更高级,但实际上您可以应用任何尚未矢量化的函数,并且可以将数据帧/系列作为输入并返回相同形状的数据帧/系列或聚合标量
  • .transform():类似于聚合,但它会将返回的值广播到和self相同的形状(例如,若您有一个具有值的列,并且希望添加一个具有每个组的平均值的列)

您可以在user guide中阅读更多内容

我猜你需要什么

试一试

df3 = df2.groupby(['T', 'Text']).size()

相关问题 更多 >