import pandas as pd
import os
import datetime
+from nltk import wordpunct_tokenize, MWETokenizer
# compute term frequencies for comments in each subreddit by week
def weekly_tf(partition):
subreddit_weeks = groupby(rows, lambda r: (r.subreddit, r.week))
+ tokenizer = MWETokenizer()
+
def tf_comments(subreddit_weeks):
for key, posts in subreddit_weeks:
subreddit, week = key
tfs = Counter([])
for post in posts:
- tfs.update(post.body.split())
+ tfs.update(tokenizer.tokenize(wordpunct_tokenize(post.body.lower())))
for term, tf in tfs.items():
yield [subreddit, term, week, tf]
while True:
chunk = islice(outrows,outchunksize)
pddf = pd.DataFrame(chunk, columns=schema.names)
+ print(pddf)
table = pa.Table.from_pandas(pddf,schema=schema)
if table.shape[0] == 0:
break