数据时间第一天的动作PANDAS

时间:2018-09-23 19:50:53

标签: python pandas dataframe

大家好,你好吗? 好吧,今天我有一个非常复杂的问题哈哈。 我的想法是跟随客户。在我的数据框中,我有一列包含数据时间,另一列包含人员代码(例如:0aie23),在下一列中该人员执行的操作。 我的想法是采取每个人的“仅行动的第一天”。并据此计算出人们在网络上的共同运动。

让我们看看我的示例:

enter image description here

如您在图像中看到的,用户000a54b2在不同的日期执行操作。我只想保留第一天(第9天)的操作,数据框仍在继续,并且有些用户执行了一天以上的操作,我只想保留第一天。

我还想知道如何进行跟踪...例如..最高比例的用户执行以下“广告系列匹配”,“访问网站”,“查看产品”,“结帐”。或者,行动的第一天大部分时间只会执行“查看过的产品”,然后执行“结帐”。谢谢

2 个答案:

答案 0 :(得分:0)

这是您可以做到的方式:

##Finding the earliest day (from `dia` column) of activity for each user
earliest_day = df.groupby('person')['dia'].min().reset_index()

## Obtaining the user and event information for all "earliest day" events
df1 = df.merge(earliest_day, left_on = ['person', 'dia'], right_on = ['person', 'dia'], 
                            how = 'inner')[['person', 'event']]

## Counting the number of times each activity (event) occurred on a the first day of user experience.
df1['event'].value_counts()

答案 1 :(得分:0)

阅读我的评论后,您可以使用以下内容:

df =df[df[dla]=='9']

这是一些熊猫查询,可为您提供dla等于9的数据框的子集。