我试图使用以下代码删除“文本”列中的标点符号:
texttweet = pd.read_csv("../input/pfizer-vaccine-tweets/vaccination_tweets.csv")
i = 0
punct = "\n\r"+string.punctuation
for tweet in texttweet['text']:
texttweet['text'][i] = tweet.translate(str.maketrans('', '', punct))
i += 1
texttweet
但我得到了这个信息,尽管我得到了所需的结果:
A value is trying to be set on a copy of a slice from a DataFrame
那么,不管消息是什么,都可以保留我的代码,还是应该更改一些内容
最好的方法是:
有关您遇到的问题的解释,请参见: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
基本上,texttweet['text']是数据帧的一个“切片”,您正在获取该切片,并尝试在位置i为其分配一些内容
为了避免错误,可以使用textweet.loc[i,'text']=。 这是不同的,因为它直接应用于原始数据帧,而不是它的一个片段
相关问题 更多 >
编程相关推荐