当使用pandas Dataframe对象并使用来自DataFrame的条件选择时,它会产生如下错误,而我在浏览一些在Jupiter笔记本上可以使用相同视频的视频时发现。
但是,它在下面清楚地指出了该错误,但是即使我在各种SO帖子上进行了搜索,但仍未找到解决方法
TypeError:“ str”和“ int”的实例之间不支持“>”
下面是我在puthon3.6中使用的代码内容。
import pandas as pd
import numpy as np
df = pd.DataFrame({'coln1': ['1', '2', '3'],
'coln2': ['111', '222', '111'],
'coln3': ['aaa', 'bbb', 'ccc']})
print(df[df['coln1']>2])
在我仍然环顾四周的同时,我对任何帮助或指导都表示赞赏。
答案 0 :(得分:2)
通过Series.astype
将列转换为数字:
print(df[df['coln1'].astype(int)>2])
更通用的解决方案,如果某些非数字值通过to_numeric
和参数NaN
转换为errors='coerce'
:
print(df[pd.to_numeric(df['coln1'], errors='coerce')>2])