There are a number of pretrained models for you to download that are vector representations of word stems. A popular choice is Google's pretrained 300-dimensional Word2Vec Model which can be downloaded from:
https://drive.google.com/file/d/0B7XkCwpI5KDYNlNUTTlSS21pQmM/edit
and loaded (after unzipping) with:
import gensim
model = gensim.models.Word2Vec.load_word2vec_format('GoogleNews-vectors-negative300.bin', binary=True)
This model is quite large, but does exactly what you want. If you are interested in only a subset of words, I suggest that you extract only those from the model and store their coordinates in a DataFrame for later (and faster) use.
For other models see the following:
- https://fasttext.cc/docs/en/crawl-vectors.html
- https://nlp.stanford.edu/projects/glove/
- https://fasttext.cc/