我在下面粘贴了一个带有两级索引的数据框架(第一级为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()