あなたは容易ではない何list
を空にNaN
を置き換えることができます - によってmask
やcombine_first
を使用Series
空にするlists
:
pos_tweets = [('I love this car', 'positive'),
('This view is amazing', 'positive'),
('I feel great this morning', 'positive'),
('I am so excited about the concert', 'positive'),
(None, 'positive')]
df = pd.DataFrame(pos_tweets, columns= ["Text","col2"])
print (df)
Text col2
0 I love this car positive
1 This view is amazing positive
2 I feel great this morning positive
3 I am so excited about the concert positive
4 None positive
stopwords = ['love','car','amazing']
s = pd.Series([[]], index=df.index)
df["Text"] = df["Text"].str.lower().str.split().mask(df["Text"].isnull(), s)
print (df)
Text col2
0 [i, love, this, car] positive
1 [this, view, is, amazing] positive
2 [i, feel, great, this, morning] positive
3 [i, am, so, excited, about, the, concert] positive
4 [] positive
df['Text']=df['Text'].apply(lambda x:' '.join([item for item in x if item not in stopwords]))
print (df)
Text col2
0 i this positive
1 this view is positive
2 i feel great this morning positive
3 i am so excited about the concert positive
4 positive
別の解決策:
stopwords = ['love','car','amazing']
df["Text"]=df["Text"].str.lower().str.split().combine_first(pd.Series([[]], index=df.index))
print (df)
Text col2
0 [i, love, this, car] positive
1 [this, view, is, amazing] positive
2 [i, feel, great, this, morning] positive
3 [i, am, so, excited, about, the, concert] positive
4 [] positive
「空行」とはどういう意味ですか? NaN、空の文字列ですか? この場合、どのような出力が得られますか? – FLab
他のユーザーが試すことができる例を示してください。 – mhoff
その後、そのきれいなテキストで何をするつもりですか?たぶんあなたはCountVectorized/TfidfVectorizerメソッドをチェックすべきです - 彼らはそれを "オンザフライ"で行うことができます... – MaxU