我在一个数据集上应用一些简单的统计数据。我读过熊猫的资料。我想计算每个州的县数。我已经将state作为我的数据帧的索引,并通过使用索引的唯一值和计算县来循环遍历它。当我打印循环中的值时,它会给出一个结果,后跟一个错误“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()
索引列表是所有状态的列表。我使用它在辅助数据帧中循环,如下所示:
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)
for item in index_list:
print(df_aux3.loc[item, 'CTYNAME'].count())
dfèu aux3数据帧如图所示:
printing count()所显示的结果(原则上是正确的)以及引发的错误如下所示:
df_aux3.loc['Alabama', 'CTYNAME'].count()
它工作得非常好,没有错误!我不明白它的行为。
我想知道是不是因为懒惰的评估。如果这是为什么它是这样的行为,我怎么能修复它?