有人能解释我为什么会出现这个错误以及如何修复它吗?我正在尝试搜索98-99年的标题,我想获得第一部分(98):
示例标题:汽车EBC 98-99
TypeError: 'NoneType' object is not subscriptable
在年_min行是错误发生的地方
import pandas as pd
import re
fileinString = 'a.csv'
df1 = pd.read_csv(fileinString, sep=",")
# split title of df1 into string and year tag min and year tag max
regular_expression = re.compile(r'\d\d-\d\d')
title_string = df1['*Title']
year_min = title_string.apply(lambda x: regular_expression.search(x)[0].split('-')[0])
year_max = df1['*Title'].apply(lambda x: regular_expression.search(x)[0].split('-')[1])
print(year_min)
关闭it运行但不起作用的示例: https://ideone.com/JANVt2
您遇到的异常典型地是试图使用括号表示法从一个不包含任何内容的变量访问数据
我想说的是,标题字符串中的一个文本值不包含您要查找的模式,正则表达式.search(x)对此不返回任何模式
处理这些情况的一种方法是向正在列上应用的函数添加一些逻辑。大致如下:
这是因为df1['*Title']的值与此模式不匹配
当它在字符串中找到模式时,会重新调用某些内容
Where as when未找到它将返回None
没有一个是不可下标的 i、 e.你什么都不能做[0]
所以最终你要做的就是
相关问题 更多 >
编程相关推荐