我在下面粘贴了一个带有两级索引的数据框(第一级是州名,第二级是县名): the image contains the statename and the counties in it in the second column
我需要计算每个州的县数。 (在粘贴的图像中,我只有单个状态的信息,但整个数据框由状态和相应县名的几个类似的条目组成。) 对于前在上面的图片中它应该为阿拉巴马州返回5(我知道阿拉巴马州内还有60个其他县,但我刚刚粘贴了较大数据帧的一小部分)。 哪个pandas函数可用于返回每个州的县数? 我是熊猫的新手,只是在学习阶段。
提前感谢您的帮助。
答案 0 :(得分:0)
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
答案 1 :(得分:0)
它将为每个df = pd.DataFrame({'st_name': 'alabama', 'cityname': [['alabama'], ['autuguva','county'],['county']]})
df.groupby('st_name').count()
计算。我试验了小清单
:find