我有点困在这里试图确定如何切片我的数据帧。你知道吗
data = {'Date' : ['08/20/10','08/20/10','08/20/10','08/21/10','08/22/10','08/24/10','08/25/10','08/26/10'] , 'Receipt' : [10001,10001,10002,10002,10003,10004,10004,10004],
'Product' : ['xx1','xx2','yy1','fff4','gggg4','fsf4','gggh5','hhhg6']}
dfTest = pd.DataFrame(data)
dfTest
这将产生:
Date Product Receipt
0 08/20/10 xx1 10001
1 08/20/10 xx2 10001
2 08/20/10 yy1 10002
3 08/21/10 fff4 10002
4 08/22/10 gggg4 10003
5 08/24/10 fsf4 10004
6 08/25/10 gggh5 10004
7 08/26/10 hhhg6 10004
我想创建一个只包含唯一收据的新数据框,这意味着收据只能在1天内使用(但可以在1天内多次显示)。如果收据在多天内出现,则需要将其删除。上述数据集应如下所示:
Date Product Receipt
0 08/20/10 xx1 10001
1 08/20/10 xx2 10001
2 08/22/10 gggg4 10003
到目前为止,我所做的是:
dfTest.groupby(['Receipt','Date']).count()
Product
Receipt Date
10001 08/20/10 2
10002 08/20/10 1
08/21/10 1
10003 08/22/10 1
10004 08/24/10 1
08/25/10 1
08/26/10 1
我不知道如何在这种结构中查询那个日期,所以我重置了索引。你知道吗
df1 = dfTest.groupby(['Receipt','Date']).count().reset_index()
Receipt Date Product
0 10001 08/20/10 2
1 10002 08/20/10 1
2 10002 08/21/10 1
3 10003 08/22/10 1
4 10004 08/24/10 1
5 10004 08/25/10 1
6 10004 08/26/10 1
现在我不知道该怎么办。我希望有人能伸出援助之手。这可能很容易,我只是有点困惑或缺乏经验。你知道吗
可以将^{} 与boolean indexing一起使用,其中条件使用^{} :
另一种解决方案是按条件查找索引,然后按^{} 选择
DataFrame
:相关问题 更多 >
编程相关推荐