在使用 pandas Dataframe 对象并使用 DataFrame 中的条件选择时,会出现如下错误,而我在浏览一些在 Jupiter 笔记本上也适用的视频时看到。
但是,它清楚地说明了下面的错误,但我没有找到解决方法,即使我在各种 SO 帖子上进行搜索但没有得到相同的错误解决方案
TypeError: '>' not supported between instances of 'str' and '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])
非常感谢任何帮助或指导,而我仍在四处寻找。
最佳答案
通过 Series.astype
将列转换为数字:
print(df[df['coln1'].astype(int)>2])
如果某些非数值被 to_numeric
转换为 NaN
,则更通用的解决方案和参数errors='coerce'
:
print(df[pd.to_numeric(df['coln1'], errors='coerce')>2])
关于python - pandas 在通过条件选择时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52072787/