绘制客户访问应用程序的次数

时间:2018-08-23 13:01:26

标签: python pandas

我有一个具有唯一客户ID和日期的数据框。 我的datframe看起来像这样

date    objectId
15/07/18    "__gb5c9e15dfc004930b8ac9d5d1df1880e"
16/07/18    "__g0b2abb9da5d646eb930c1ce9bb6df5ef"
16/07/18    "__c5ff64e5448c44fabe26e88bc0e41497"
17/07/18    "__c7b0a5824a914d7198a328cdf35c95bf"
18/07/18    "__8929216e8d534569ae6fd6701c92fc4c"
19/07/18    "__gec079853a06748a79b4d101713c1e21d"
19/07/18    "__d7f24fa5909b43f4a5282877ed4eed3e"
19/07/18    "__ga523090706304454ba581d79f366816a"
19/07/18    "__d409d75e4207409b8ea030f69b70bf83"
19/07/18    "-g940dc0277b7f46c8b7d8de195a8fd975"
20/07/18    "__d7f24fa5909b43f4a5282877ed4eed3e"
20/07/18    "__ga523090706304454ba581d79f366816a"
21/07/18    "__d409d75e4207409b8ea030f69b70bf83"
21/07/18    "-g940dc0277b7f46c8b7d8de195a8fd975"

我想绘制一个图表,在该图表中我要统计访问一次,两次等等的客户数量。 y轴-对象ID重复的次数 x轴-重复的对象ID的计数。我尝试过

date_df['objectId'].value_counts().plot(kind='bar')

1 个答案:

答案 0 :(得分:0)

这不是一个很好的数据集,因为对于大多数条目,您很可能只会获得一个高度为1的小节高度,并且由于有很多客户,您根本不会获得很好的概览。

无论如何,假设相同的客户无论何时都获得相同的ID,则可以将所有ID放在列表中,对列表进行排序,然后绘制直方图,其中柱形数=列表中的唯一条目数。

val

此列表现在可以用作直方图的输入。

编辑:您的评论“它在x轴上给出了不同的objectID”实际上是很有趣的,因为这是这种绘图数据集的唯一可能输出-直方图,在y轴上出现次数,在x轴。

对于绘图,看起来像

customer_list = sorted(date_df['objectId'].tolist())

该集合将删除所有重复项,然后len为您提供列表中唯一项的数量。通过将垃圾箱设置为该数字,您可以为每个客户获得一个直方图栏。