DataFrameGroupBy使用多索引选择子集

2024-05-16 21:57:35 发布

您现在位置:Python中文网/ 问答频道 /正文

2个完全相似的结构化数据帧。我将它们按A列和B列分别分组

dfgrouby1=df1.groupby(['A','B'])
dfgrouby2=df2.groupby(['A','B'])

我按子组(每个数据帧)遍历dfgrouby1,并希望从dfgrouby2获得具有相同索引(iA,iB)的子组(数据帧)

2个问题

  1. 如何在dfgrouby2中检索相应的子组
  2. 如何捕获dfgrouby2中是否不存在(iA,iB)索引

循环工作正常,文档显示了具有多索引use.loc[(index tuple)]的数据帧,但显然不是DataFrameGroupBy对象

广泛搜索。可能没有使用正确的描述符

for (iA,iB),eachgroup1 in dfgrouby1:
    eachgroup2 =dfgrouby2.loc[(iA,iB)]
    #do things with eachgroup1['C':'Q'] vs. eachgroup2['C':'Q'] 

AttributeError: 'DataFrameGroupBy' object has no attribute 'loc'

还尝试:

    eachgroup2 =dfgrouby2[[iA,iB]]
KeyError: "Columns not found: 204, 34"
OR
    eachgroup2 =dfgrouby2[(iA,iB)]
KeyError: "Columns not found: 204, 34"

注:204、34是iA、iB的第一个值


Tags: columns数据notlocib结构化groupbykeyerror