Сохранение вывода списка в виде столбца данных pandas при выполнении очистки данных регулярного выражения - PullRequest
0 голосов
/ 12 февраля 2020

Я очищаю данные столбца, а затем моя работа заключается в том, чтобы сохранить очищенную информацию в том же столбце без изменений, чтобы затем ее можно было передать в векторизатор tf-idf. Следующий код, который я написал, работает хорошо, но сохраняет результаты в виде списка. Я хочу, чтобы чистый вывод был сохранен в том же столбце, а не в списке. Моя цель - сохранить информацию в правильном формате.

#Cleaning comment section
import re
import nltk
stopwords = nltk.corpus.stopwords.words('english')

def text_cleaner(text,num):
   newString = text.lower()
   newString = re.sub(r'\([^)]*\)', '', newString)
   newString = re.sub(r"[0-9]", "", newString)
   newString = re.sub(',','.', newString)
   newString = re.sub(r"'s\b","",newString)
   newString = re.sub("[^a-zA-Z]", " ", newString) 
   newString = re.sub(r"Ä¢", "", newString)
   newString = re.sub(r"·", "", newString)
   newString = re.sub(r"\'", "", newString)    
   newString = re.sub(r"\"", "", newString)   
   newString = re.sub(r"\n", "", newString)    
   newString = re.sub(r"\r", "", newString) 
if(num==0):
    tokens = [w for w in newString.split() if not w in stopwords]
else:
    tokens=newString.split()
long_words=[]
for i in tokens:
    if len(i)>1:  #removing short word
        long_words.append(i)   
return (" ".join(long_words)).strip()
#call the function
X = []
for t in df1['CHARACTERISTICS']:
   X.append(text_cleaner(t,0))

Либо список X следует преобразовать обратно в столбец данных кадра C1, либо функция очистки должна возвращать чистую строку непосредственно в столбец C1. Я попытался следующий код, чтобы сделать это, но привел к ошибке:

df['C1'] = df['C1'].apply(text_cleaner(t,0))

1 Ответ

0 голосов
/ 12 февраля 2020

Следующие ответы на мой вопрос

df['C1'] = pd.DataFrame(X) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...