【发布时间】:2021-10-27 18:28:31
【问题描述】:
所以我试图获取 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'
我怎样才能解决这个问题?
【问题讨论】: