Python 按GroupBy内容筛选数据帧
考虑以下数据帧:Python 按GroupBy内容筛选数据帧,python,pandas,dataframe,scipy,Python,Pandas,Dataframe,Scipy,考虑以下数据帧: records = [{'item': 'Widget A', 'quantity': 50, 'revenue': 25.0, 'trandate': '2016-3-24'}, {'item': 'Widget B', 'quantity': 6, 'revenue': 72.0, 'trandate': '2016-3-28'}, {'item': 'Widget C', 'quantity': 5, 'revenue': 75.0
records = [{'item': 'Widget A', 'quantity': 50, 'revenue': 25.0, 'trandate': '2016-3-24'},
{'item': 'Widget B', 'quantity': 6, 'revenue': 72.0, 'trandate': '2016-3-28'},
{'item': 'Widget C', 'quantity': 5, 'revenue': 75.0, 'trandate': '2016-3-28'},
{'item': 'Widget A', 'quantity': 168, 'revenue': 84.0, 'trandate': '2016-3-29'},
{'item': 'Widget B', 'quantity': 6, 'revenue': 84.0, 'trandate': '2016-3-29'}]
indices = [487, 488, 493, 495, 497]
df = pd.DataFrame(records, index=indices)
屈服
id item quantity revenue trandate
487 Widget A 50 25.0 2016-3-24
488 Widget B 6 72.0 2016-3-28
493 Widget C 6 75.0 2016-3-28
495 Widget A 6 84.0 2016-3-29
497 Widget B 6 84.0 2016-3-29
我需要将此数据帧拆分为两个互补集:
项的第一个事务的数据帧
:
id item quantity revenue trandate
487 Widget A 50 25.0 2016-3-24
488 Widget B 6 72.0 2016-3-28
493 Widget C 6 75.0 2016-3-28
id item quantity revenue trandate
495 Widget A 6 84.0 2016-3-29
497 Widget B 6 84.0 2016-3-29
项的第一个事务的数据帧
:
id item quantity revenue trandate
487 Widget A 50 25.0 2016-3-24
488 Widget B 6 72.0 2016-3-28
493 Widget C 6 75.0 2016-3-28
id item quantity revenue trandate
495 Widget A 6 84.0 2016-3-29
497 Widget B 6 84.0 2016-3-29
df
,但我无法在我按groupby后显示df
的索引:
gb = df.groupby('item')
>>> gb.groups
# {'Widget A': [487, 495], 'Widget B': [488, 497], 'Widget C': [493]}
>>> gb['trandate'].min()
item
Widget A 2016-3-24
Widget B 2016-3-28
Widget C 2016-3-28
我可以使用GroupBy生成如下数据帧:
id item
487 Widget A 2016-3-24
488 Widget B 2016-3-28
493 Widget C 2016-3-28
我认为您需要通过以下人员创建的
mask
筛选: