1
私はパンダのデータフレームにいくつかの単語を語幹と、以下の機能を持っていた後、関数内で変数を定義する:リターン
progress = 0
def stem(x):
end = time.time()
tokens = word_tokenize(x)
global progress
progress += 1
sys.stdout.write('\r {} percent, {} position, {} per second '.format(float(progress/len(articles)),
progress, progress/(end - start)))
return [stemmer.stem(e) for e in tokens]
私はその関数を呼んでいる方法は、このようなものです:
start = time.time()
articles['stems'] = articles.content.apply(lambda x: stem(x))
articles.content
は大きな文字列の列です。現在書かれているように、sys.stdout.write
の最後の変数は、1秒間に繰り返される平均行数を計算します。私がしたいのは、各行の瞬間速度を計算することです。挑戦は、start
は、私が語幹を返した後に定義する必要があるということです。
ラムダ式の中に新しい変数を定義しようとしましたが、それができないことを学びました。そして、私はreturn [stemmer.stem...], start = time.time()
がデータフレームの値にstart
を含んでいることを知っています。明らかに私は望んでいません。
これを行う方法はありますか?