Python,使用IN运算符不断返回false

时间:2018-07-23 19:40:50

标签: python substring

我正在尝试在数据框对象中找到一个子字符串。在执行此操作之前,我先将dataframe对象转换为字符串。

即使我确定知道子字符串存在于dataframe对象中,“ in”运算符仍会返回false。

我花了数小时试图弄清楚我还能怎么做。我也尝试使用

df1.str.contains

但是它出错了。

有人可以让我知道我做错了吗?如有必要,我愿意尝试其他方法。

这是我正在使用的代码:

changesfull = r'C:\Users\user\Desktop\changes\changes.xlsx'
locations = pd.read_excel(changesfull)

for change in changes:
   y = y+1
   z = z+1
   g = g+1

   df1 = locations.iloc[y:z,2:3]
   newframe = "product" in str(df1)
   print(newframe)

当我打印出str(df1)时,我得到了dataframe对象的输出:

“ 1自2018年7月15日生效-以下产品...”

是否可能由于无法自动打印完整内容而无法找到“产品”一词?例如。它应该是“-以下产品可用”

1 个答案:

答案 0 :(得分:0)

以防万一将来对任何人有帮助:

问题出在我使用的iloc。

我将该部分更改为以下内容,并且有效:

df1 = locations.iloc[y,2]