我正在对数据集应用一些简单的统计信息。我看过熊猫的数据。我想计算每个州的县数。我已经将状态指定为数据框的索引,并通过使用索引的唯一值并计数县来遍历它。当我在循环中打印值时,会给我结果,然后出现错误“ count()至少接受1个参数(给定0)”,但是当我分配count()的值时,它将引发“ count()接受至少1个参数(给定0)”。
df_aux = census_df[census_df['SUMLEV']==50]
df_aux.set_index('STNAME', inplace=True)
index_list = df_aux3.index.unique().tolist()
index_list是所有状态的列表。我将其用于在辅助数据框中循环播放,如下所示:
county_list = []
state_list = []
for item in index_list:
df_aux3.loc[item,'CTYNAME'].count()
county_num = df_aux3.loc[item,'CTYNAME'].count()
county_list.append(county_num)
state_list.append(item)
dict_aux={'State':state_list,
'county_num': county_list}
行
df_aux3.loc[item,'CTYNAME'].count()
导致以下错误:
TypeError: count() takes at least 1 argument (0 given)
但是,当我在循环中使用print时,它会正确返回值并引发错误!通过使用print,我的意思是以下代码:
for item in index_list:
print(df_aux3.loc[item, 'CTYNAME'].count())
打印的count()原理显示的结果正确无误,并显示以下错误:
此外,当我使用
df_aux3.loc['Alabama', 'CTYNAME'].count()
它运行良好,没有错误!我不了解它的行为。 我想知道是由于懒惰的评估。如果这就是为什么它会以这种方式运行以及我该如何解决?
非常感谢您的关注和支持。