在嵌套循环中对分组数据框进行分组
Grouping a grouped dataframe in a nested loop
我有一个场景,我必须按列对数据框进行分组,然后使用不同的列再次对生成的数据框进行分组。我迭代分组的原因是因为我更容易将结果打包到不同的数据框。所以我想做的是
g=df.groupby(col1):
for a,b in g:
for c,d in b.groupby(col2):
当我尝试执行上述操作时,我在 c 中得到了一个 None 值,而不是与 col2 关联的值。我做错了什么?
我们无法知道您提供给我们的是什么,但您的代码应该可以正常工作...它适合我。
df = pd.DataFrame({'EmployeeNo':[11111,11112,11113,11115,11116,11128],
'OutletName':['Outlet1', 'Outlet2', 'Outlet3','Outlet4', 'Outlet5','Outlet6'],
'EmployeeName':['John','Tom','Bob','Sam', 'Sean', 'Zac'],
'TargetAmount':[1000,500,400,500,300,800]})
g=df.groupby('OutletName')
for a,b in g:
for c,d in b.groupby('EmployeeName'):
print(c)
输出:
John
Tom
Bob
Sam
Sean
Zac
我有一个场景,我必须按列对数据框进行分组,然后使用不同的列再次对生成的数据框进行分组。我迭代分组的原因是因为我更容易将结果打包到不同的数据框。所以我想做的是
g=df.groupby(col1):
for a,b in g:
for c,d in b.groupby(col2):
当我尝试执行上述操作时,我在 c 中得到了一个 None 值,而不是与 col2 关联的值。我做错了什么?
我们无法知道您提供给我们的是什么,但您的代码应该可以正常工作...它适合我。
df = pd.DataFrame({'EmployeeNo':[11111,11112,11113,11115,11116,11128],
'OutletName':['Outlet1', 'Outlet2', 'Outlet3','Outlet4', 'Outlet5','Outlet6'],
'EmployeeName':['John','Tom','Bob','Sam', 'Sean', 'Zac'],
'TargetAmount':[1000,500,400,500,300,800]})
g=df.groupby('OutletName')
for a,b in g:
for c,d in b.groupby('EmployeeName'):
print(c)
输出:
John
Tom
Bob
Sam
Sean
Zac