执行elections_complete_df.query("FIPS.isnull()")报错unhashable type: 'Series'如何解决?
解决
unhashable type: 'Series'错误的方案 错误原因
df.query()方法采用类SQL语法,无法直接在表达式中调用Series.isnull()这类Series方法,这会触发unhashable type: 'Series'错误。
调整方案
方案1:直接使用布尔索引(推荐)
如果需要筛选出FIPS为空的行:
elections_complete_df[elections_complete_df['FIPS'].isnull()]
如果仅需统计空值数量,直接调用isnull().sum()更高效:
null_count = elections_complete_df['FIPS'].isnull().sum() print(null_count)
方案2:使用query()支持的语法(若坚持用query)
利用NaN不等于自身的特性,在query表达式中编写:
elections_complete_df.query("FIPS != FIPS")
统计空值数量可链式调用:
null_count = elections_complete_df.query("FIPS != FIPS").shape[0]
内容的提问来源于stack exchange,提问作者Tushar Bander
相关产品推荐
相关产品推荐

