我需要从一列字符串中提取数字。但是str.提取物(\d)不适用于只有数字的字符串。在
df['extract'] = df['original'].str.extract('(\d+)')
请将数据帧视为字典:
^{pr2}$df是一个有2列的pd数据帧,df['orginal']包含2+、2-、2、3-、3、3+,无分级。在
代码工程生成了新的列df['extract'],对于2-(给出2)、3+(给出3)、NO RATING(给出NaN)这样的值是正确的。但对于像2(给出NaN,但我预期为2)和3(给出NaN,但我预期为3)的值是错误的。在
在使用
extract
之前,请确保您拥有所有字符串问题是有些值是整数,而有些是字符串。尽管str.提取物未获取错误,如果它是整数,则不会提取正确的值。您可以使用lambda和findall函数来处理这种情况。然后还可以添加一个可选运算符(+),以便在值大于等于9的情况下获取更多的数字。在
结果:
^{pr2}$相关问题 更多 >
编程相关推荐