熊猫中的数据范围中的两级索引:计算每个第一级索引的第二级索引数量



我在下面粘贴了一个带有两级索引的数据框架(第一级为stateName,第二级是县名(:该图像在第二列中包含了句号,其中的县中的县

中包含该县

我需要计算每个状态中的县数量。(在粘贴的图像中,我只有一个状态的信息,但整个数据框架由几个类似的州和相应的县名组成。(对于前。在上面的图片中,阿拉巴马州应该返回5(我知道阿拉巴马州还有60个县,但我刚刚粘贴了较大的数据框架的一小部分(。哪些熊猫功能可用于返回每个州的县数?我是熊猫的新手,只是在学习阶段。

感谢提前的帮助。

我认为您需要groupby并通过size汇总:

df1 = df.groupby(level=0).size()

或:

df1 = df.groupby('STNAME').size()

样本:

df = pd.DataFrame({'STNAME':['AL'] * 3 + ['MI'] * 4, 
                   'CTYNAME':list('abcdefg'),
                   'COL': range(7) }).set_index(['STNAME','CTYNAME'])
print (df)
                COL
STNAME CTYNAME     
AL     a          0
       b          1
       c          2
MI     d          3
       e          4
       f          5
       g          6
df1 = df.groupby(level=0).size().reset_index(name='count')
print (df1)
  STNAME  count
0     AL      3
1     MI      4
df1 = df.groupby('STNAME').size().reset_index(name='count')
print (df1)
  STNAME  count
0     AL      3
1     MI      4

它将为每个st_name提供计数。我尝试了小列表

df = pd.DataFrame({'st_name': 'alabama', 'cityname': [['alabama'], ['autuguva','county'],['county']]})
df.groupby('st_name').count()

最新更新