'>' 在 'str' 和 'int' 的实例之间不受支持

新手上路,请多包涵

我遇到了错误

’>’ 在 ‘str’ 和 ‘int’ 的实例之间不受支持

尝试在 Pandas 数据框中打印以下行时

print (survey_df_clean.shape)
print (survey_df_clean[survey_df_clean['text']>30].shape)

我应该尝试将它们转换为 int 吗?这在该语句中如何工作?

原文由 user7565295 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 551
2 个回答

此消息建议您尝试将字符串对象 ( str ) 与整数 ( int ) 进行比较。表达方式

survey_df_clean['text']

可能会返回一个字符串。因此,您不能直接将它与数字 30 进行比较。如果要比较条目的长度,可以使用 pandas.Series.str.len() 操作,如您 在此处 所见。

如果这个字段实际上应该包含一个整数,你可以使用 这个 方法( pandas.to_numeric )将它从 str 转换为 int

原文由 zimmerrol 发布,翻译遵循 CC BY-SA 3.0 许可协议

首先确保 survey_df_clean[‘text’] 的所有值都相同,如果要转换为数字,请执行以下操作:

 survey_df_clean['text'] = pd.to_numeric(survey_df_clean['text'])

然后这样做

survey_df_clean.loc[survey_df_clean['text']>30].shape

原文由 Fariliana Eri 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题