特定の列を選択しにより、私のグループがITEM_ID使用した後にのみここre_order = 1としてつの列データを選択し、次いで、別の列を有していなければならない方法パンダグループIは、入力されたデータフレームを有する
df_orders = pd.DataFrame({'item_id': [1, 1, 2, 2, 3, 4, 4, 5, 7, 8],
're_order':[0, 1, 0, 1, 1, 0, 1, 1, 1, 0],
'count':[27, 49, 3, 1, 6, 8, 14, 1, 1, 6] },
columns=['item_id', 're_order', 'count'])
or
item_id re_order count
0 1 0 27
1 1 1 49
2 2 0 3
3 2 1 1
4 3 1 6
5 4 0 8
6 4 1 14
7 5 1 1
8 7 1 1
9 8 0 6
10 8 1 7
総数?
マイ所望の出力
item_id reor_count tot_count
0 1 49 76
1 2 1 4
2 3 6 6
3 4 14 22
4 5 1 1
5 7 1 1
6 8 7 13
私は
df_orders_tot_count = df_orders.groupby('item_id')['count'].agg(['sum']).rename(columns={'sum': 'tot_count'}).reset_index()
item_id tot_count
0 1 76
1 2 4
2 3 6
3 4 22
4 5 1
5 7 1
6 8 13
を使用して合計カウント(tot_count)を見つけることができていますが、Python的な方法を使用してreor_count列を生成するための難しさを持っています。どんな助けもありがとう!
ありがとう@Psidom。それは魅力として働く。私はaggを使用しようとしました、フィルターをかけ、他の試みをカップルしましたが、今まで理解できませんでした。私は利用可能なリソースの数が多いことを知っています、特にパンダマニュアルとstackoverflow自体から。そして私は、「正しい」アプローチは経験からも来ていると信じています。しかし、あなたはフィールドの初心者のためにこのタイプの問題に将来どのように取り組むべきかについて光を当てることができますか? – udothemath1984