我有下面的代码,我试图将停用词列表应用于单词列表.然而,结果仍然显示"a"和"the"这样的词,我认为这个词会被这个过程删除.任何出错的想法都会很棒.
import nltk
from nltk.corpus import stopwords
word_list = open("xxx.y.txt", "r")
filtered_words = [w for w in word_list if not w in stopwords.words('english')]
print filtered_words
Run Code Online (Sandbox Code Playgroud) 这一定很简单,但我不知何故错过了它。我有代码:
import nltk
f=open('...\\t.txt','rU')
raw=f.read()
tokens = nltk.word_tokenize(raw)
print nltk.pos_tag(tokens)
Run Code Online (Sandbox Code Playgroud)
例如返回:
"[('进程', 'NNS'), ('a', 'DT'), ('序列', 'NN'), ('of', 'IN'), ('单词', 'NNS' )]
我想知道如何仅收集所有“NN”或所有“DT”和“IN”而不是字符串的每个成员。
提前致谢
我在 Pyspark 数据框中有一列,其结构类似于
Column1
[a,b,c,d,e]
[c,b,d,f,g,h,i,p,l,m]
Run Code Online (Sandbox Code Playgroud)
我想返回另一列,随机选择每行中的每个数组,函数中指定的数量。
所以就像data.withColumn("sample", SOME_FUNCTION("column1", 5))返回:
sample
[a,b,c,d,e]
[c,b,h,i,p]
Run Code Online (Sandbox Code Playgroud)
希望避免使用python UDF,感觉应该有一个可用的功能??
这有效:
import random
def random_sample(population):
return(random.sample(population, 5))
udf_random = F.udf(random_sample, T.ArrayType(T.StringType()))
df.withColumn("sample", udf_random("column1")).show()
Run Code Online (Sandbox Code Playgroud)
但正如我所说,最好避免使用 UDF。
我有以下功能,循环通过两个列表,打印出一系列蔬菜,然后是水果.
def Selection():
print("VEGETABLES FOR THE WEEK:\n")
for veg in veg_selection:
print(veg.upper())
print("\n")
print("FRUITS FOR THE WEEK:\n")
for fruit in fruit_selection:
print(fruit.upper())
Run Code Online (Sandbox Code Playgroud)
所以结果可能如下:
VEGETABLES FOR THE WEEK:
BROCOLLI
PEAS
CARROTS
SWEET CORN
WHITE ONIONS
FRUITS FOR THE WEEK:
GRAPEFRUIT
CHERRIES
ORANGE
COCONUT
RASPBERRIES
Run Code Online (Sandbox Code Playgroud)
我正在努力将函数的打印结果分配给包含格式化字符串的单个变量.我是否需要将结果保存为文本文件然后再次读取?我可以使用文本连接吗?我不确定如何处理函数中的for循环?任何帮助真的很感激.
python ×3
nltk ×2
arrays ×1
filter ×1
list ×1
pos-tagger ×1
pyspark ×1
random ×1
sample ×1
stop-words ×1