1
私はデータフレームをスライスする方法を決定しようとここで少しこだわっています。groupby条件に基づいてデータフレームから値を削除する
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
今後の進め方についてはわかりません。誰かが救いの手を貸してくれることを願っています。これは簡単かもしれない、私はちょっと混乱しているか、経験が足りない。