Python 数据帧中的Avoind重新索引

Python 数据帧中的Avoind重新索引,python,pandas,Python,Pandas,我正在使用从美国人口普查中导入到数据框中的数据,它看起来如下所示: 我需要确定有更多县的州,也就是说,我需要计算CTYNAME列中具有相同STNAME的元素的数量。但是,如果不重新索引数据帧(或创建一个新的数据帧),我就无法做到这一点,因为我发现这个数据帧并不完善。如何改进我的解决方案: census\u df.set\u index(['STNAME','CTYNAME'])count(level=0)['SUMLEV'].argmax()如评论中所述,这将是更自然的方法,并且可能更有效:

我正在使用从美国人口普查中导入到数据框中的数据,它看起来如下所示:

我需要确定有更多县的州,也就是说,我需要计算CTYNAME列中具有相同STNAME的元素的数量。但是,如果不重新索引数据帧(或创建一个新的数据帧),我就无法做到这一点,因为我发现这个数据帧并不完善。如何改进我的解决方案:


census\u df.set\u index(['STNAME','CTYNAME'])count(level=0)['SUMLEV'].argmax()

如评论中所述,这将是更自然的方法,并且可能更有效:

census_df.groupby('STNAME')['CTYNAME'].size().nlargest(1)

怎么样
census_df.groupby('STNAME')['CTYNAME'].size().nlargest(1)
?@IanS这很有效。但是,我不太理解groupby对象是什么。这是否也会创建一个数据帧大小相同的对象,从而降低效率?另外,我不知道最大的函数-非常有用!在这里,
groupby
将创建一个新对象,但它的行数与状态数相同,只有一列。老实说,我不认为你的解决方案是那么糟糕,即使它可能不是大多数熊猫用户会这样做。