我有以下数据框:
Hotel_id Month_Year Chef_Id Chef_is_Masterchef Transition_cnt Review_Polarity
2400614 May-2015 2297544 0 0 0.674450
2400614 June-2015 2297544 0 0 0.894450
2400614 July-2015 2297544 0 0 0.888300
2400614 August-2015 2297544 0 0 0.894250
2400614 September-2015 2297544 1 1 0.975200
2400614 October-2015 2297544 1 0 0.700719
2400614 November-2015 2297544 1 0 0.955500
2400614 December-2015 2297544 1 0 0.675200
3400614 April-2016 3297541 0 0 0.774450
3400614 May-2016 3297541 0 0 0.874450
3400614 June-2016 3297541 0 0 0.994450
3400614 July-2016 3297541 0 0 0.888300
3400614 August-2016 3297541 0 0 0.994250
3400614 September-2016 3297541 1 1 0.675200
3400614 October-2016 3297541 1 0 0.800719
3400614 November-2016 3297541 1 0 0.755500
3400614 December-2016 3297541 1 0 0.975200
在Chef_is_Masterchef
列中
0
表示-Chef is not MasterChef
1
表示-Chef is MasterChef
当在Chef_is_Masterchef
列中从0
转换到1
时,该转换在Transition_cnt
列中指示为1
因此,在转换点,我必须在3个月之前和之后从Review_Polarity
列中获取值,并使用该值生成新列
预期产出:
我还需要另一个与上面相同的数据框,在这里我需要从Review_Polarity
列中获取过渡点6个月前后的值
请注意,我必须为每个id执行此操作
此外,如果观察到,可以注意到新列(PVal_bfr_3mon和PVal_aftr_3mon)中的值是根据过渡点的-3个月和+2个月填充的。同样的概念可以假设为6个月,在过渡点我们需要-6个月和+5个月的值
所以请告诉我解决办法
我相信还有其他方法可以做到这一点,但首先,我们将列出由更改标志提取的索引。对于这个列表,我将获得三个月前和两个月后的索引,如果是三个月后,我将修复这个位置。现在我们有了要提取的条件列表,我们可以用它提取原始数据帧。 接下来,我们用第一行和最后一行创建一个数据框,按酒店ID和厨师ID分组。下一步是在第一行和最后一行创建一个数据框,按酒店ID和厨师ID分组,在第一行和最后一行创建一个数据框,以便合并。 最后,我们将原始数据帧与三个月前的数据帧和两个月前的数据帧相结合
相关问题 更多 >
编程相关推荐