Python regex错误:TypeError:应为string或bu

2024-06-02 04:53:16 发布

您现在位置:Python中文网/ 问答频道 /正文

python新手。函数以一个字符串作为输入,输出是一个字符串的预处理

def message_to_words(message ):
        letters = re.sub("[^a-zA-Z]", " ", message ) 
        words = letters.lower().split()                             
        stops = set(stopwords.words("english"))                  
        meaningful_words = [w for w in words if not w in stops]  
        return( " ".join( meaningful_words ))

当我调用函数时

^{pr2}$

我得到这个错误

TypeError                                 Traceback (most recent call last)
<ipython-input-156-061399cb4dfd> in <module>()
      3 for i in xrange(0, df["Message"].size):
----> 5         clean_messages.append( message_to_words( df["Message"][i] ) )

---> 12     letters = re.sub("[^a-zA-Z]", " ", message )
..../python2.7/re.pyc in sub(pattern, repl, string, count, flags)
    153     a callable, it's passed the match object and must return
    154     a replacement string to be used."""
--> 155     return _compile(pattern, flags).sub(repl, string, count)
    156 
    157 def subn(pattern, repl, string, count=0, flags=0):

TypeError: expected string or buffer

当数据行在500以内时,“print df[“Message”][i]”是一个字符串,代码没有错误,但是,当数据行增加到500以上时,“print df[”Message“][i]”是一个浮点。把我弄糊涂了


Tags: to字符串inremessagedfstringreturn