如何将序列值从对象更改为整数?
问题是:
df[df[“Column”] == int]
有效,但df[df[“Column”].between(int1,int2, inclusive = True)
不起作用。
我相信这是因为一系列的值是int的,而有些是obj的,例如“ 2005 / xb9”
答案 0 :(得分:0)
我相信发生这种情况的原因是,大多数对象类都有==运算符,但并非每种对象类型都有.between方法。解决该问题的方法是在执行操作之前检查以确保类型正确。
例如,如果需要df [“ Column”]作为int才能使用.between方法,则可以使用type()
函数,并且仅在您认为是该类型的情况下才继续。
if type(df["Column"]) == 'int':
df[df[“Column”].between(int1,int2, inclusive = True)]
如果您想从集合中过滤掉内容,我会使用filter()
函数,该函数将在您需要的类型返回系列时返回true。
def isInt(element):
return type(element) == 'int'
filter(isInt, df)
#do what you want after this assuming all elements are ints