【发布时间】:2015-01-10 17:58:00
【问题描述】:
一旦周变得不连续超过 1,我就会尝试从 groupby 中删除数据。即,如果一周内有间隔,那么我想删除该行和该 group by 中的后续行。下面是我拥有的数据结构的一个简单示例,也是我正在寻找的理想输出。数据需要按国家和产品分组。
import pandas as pd
data = {'Country' : ['US','US','US','US','US','DE','DE','DE','DE','DE'],'Product' : ['Coke','Coke','Coke','Coke','Coke','Apple','Apple','Apple','Apple','Apple'],'Week' : [1,2,3,4,6,1,2,3,5,6] }
df = pd.DataFrame(data)
print df
#Current starting Dataframe.
Country Product Week
0 US Coke 1
1 US Coke 2
2 US Coke 3
3 US Coke 4
4 US Coke 6
5 DE Apple 1
6 DE Apple 2
7 DE Apple 3
8 DE Apple 5
9 DE Apple 6
#Ideal Output below:
Country Product Week
0 US Coke 1
1 US Coke 2
2 US Coke 3
3 US Coke 4
5 DE Apple 1
6 DE Apple 2
7 DE Apple 3
因此输出删除了美国可口可乐的第 6 周,因为前一周是第 4 周。 对于 DE Apple 第 5 周和第 6 周被删除,因为前一周到第 5 周是 3。请注意,这也消除了 DE Apple 第 6 周,即使它的前一个是 5 或 diff() 为 1。
【问题讨论】: