我把这个twitter语料库变成了pandas数据框,我试图找到没有英文的推文并从数据框中删除它们,所以我这样做了:
for j in range(0,150):
if not wordnet.synsets(df.i[j]):#Comparing if word is non-English
df.drop(j)
print(df.shape)
但我检查了形状,没有掉落任何行。 我使用drop函数错误,还是需要跟踪行的索引?
答案 0 :(得分:1)
这是因为df.drop()
返回副本而不是修改原始数据帧。尝试设置inplace=True
for j in range(0,150):
if not wordnet.synsets(df.i[j]):#Comparing if word is non-English
df.drop(j, inplace=True)
print(df.shape)
答案 1 :(得分:0)
这将过滤掉熊猫数据框中的所有非英语行。
import nltk
nltk.download('words')
from nltk.corpus import words
import pandas as pd
data1 = pd.read_csv("testdata.csv")
Word = list(set(words.words()))
df_final = data1[data1['column_name'].str.contains('|'.join(Word))]
print(df_final)