因此,我试图获取 Pandas 列中包含的字符串的 0:8 字符,并检查该列是否包含给定值。使用此代码:
def findCourse(url, course):
df = pd.read_html(url, flavor="html5lib")[0]
# this gets csci 141 and 141L (BUG)
return df.loc[df['COURSE ID'].str[0:8].contains(course)]
我收到此错误(因为 .str 转换为系列,因此我们无法调用 .contains):
Traceback (most recent call last):
File "C:\Projects\wm-scheduler\scheduleGenerator.py", line 52, in <module>
findEveryCourse()
File "C:\Projects\wm-scheduler\scheduleGenerator.py", line 17, in findEveryCourse
df = findCourse(url, course)
File "C:\Projects\wm-scheduler\scheduleGenerator.py", line 36, in findCourse
return df.loc[df['COURSE ID'].str[0:8].contains(course)]
File "C:\Users\jbcal\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pandas\core\generic.py", line 5487, in __getattr__
return object.__getattribute__(self, name)
AttributeError: 'Series' object has no attribute 'contains'
我怎样才能解决这个问题?
访问器上的切片.str
返回一个没有该contains
方法的系列。为了调用contains
它的方法,你应该.str
在后面链接另一个访问器。IEdf['COURSE ID'].str[0:8].str.contains(course)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句