In [93]:
import pandas as pd
import cryddit.read
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
In [94]:
sns.set()
In [95]:
bitcoin_results = { 'internal':0, 'external':0 }
bitcoin_results_per_month = {}
directory = r'./data/reddit/bitcoin/by_month/'
directory_mapping = cryddit.read.import_json_config(directory + 'mapping.json')
for key,mapping in directory_mapping.items():
df = pd.read_csv(directory + key + '_posts.csv', header=0)
df.selftext = df.selftext.fillna('').astype(str)
iterposts = ['internal' if len(row['selftext'])==0 else 'external' for _,row in df.iterrows()]
bitcoin_results_per_month[key] = {'total':len(iterposts),'internal':0, 'external':0}
for _ in iterposts:
bitcoin_results[_]+=1
bitcoin_results_per_month[key][_]+=1
In [96]:
_ = plt.bar(x=list(bitcoin_results.keys()), height=list(bitcoin_results.values()))
_ = plt.title('bitcoin external links vs internal posts')
plt.show()
In [97]:
plt.clf()
plt.figure(figsize=(18, 8))
totals = []
externals = []
internals = []
keys = list(bitcoin_results_per_month.keys())
for values in bitcoin_results_per_month.values():
totals.append(values['total'])
externals.append(values['external'])
internals.append(values['internal'])
_ = plt.plot_date(x=keys, y=list(totals), fmt='-r', alpha=.5, label='totals')
_ = plt.plot_date(x=keys, y=list(externals), fmt='-c', alpha=.5, label='externals')
_ = plt.plot_date(x=keys, y=list(internals), fmt='-b', alpha=.5, label='internals')
_ = plt.legend(loc='upper left')
_ = plt.xticks(keys, rotation='vertical')
plt.show()
In [98]:
ethereum_results = { 'internal':0, 'external':0 }
ethereum_results_per_month = {}
directory = r'./data/reddit/ethereum/by_month/'
directory_mapping = cryddit.read.import_json_config(directory + 'mapping.json')
for key,mapping in directory_mapping.items():
try:
df = pd.read_csv(directory + key + '_posts.csv', header=0)
df.selftext = df.selftext.fillna('').astype(str)
except:
ethereum_results_per_month[key] = {'total':0, 'internal':0, 'external':0}
continue
iterposts = ['internal' if len(row['selftext'])==0 else 'external' for _,row in df.iterrows()]
ethereum_results_per_month[key] = {'total':len(iterposts),'internal':0, 'external':0}
for _ in iterposts:
ethereum_results[_]+=1
ethereum_results_per_month[key][_] +=1
In [99]:
_ = plt.bar(x=list(ethereum_results.keys()), height=list(ethereum_results.values()), color='b')
_ = plt.title('ethereum external links vs internal posts')
plt.show()
In [100]:
plt.clf()
plt.figure(figsize=(18, 8))
totals = []
externals = []
internals = []
keys = list(ethereum_results_per_month.keys())
for values in ethereum_results_per_month.values():
totals.append(values['total'])
externals.append(values['external'])
internals.append(values['internal'])
_ = plt.plot_date(x=keys, y=list(totals), fmt='-r', alpha=.5, label='totals')
_ = plt.plot_date(x=keys, y=list(externals), fmt='-c', alpha=.5, label='externals')
_ = plt.plot_date(x=keys, y=list(internals), fmt='-b', alpha=.5, label='internals')
_ = plt.legend(loc='upper left')
_ = plt.xticks(keys, rotation='vertical')
plt.show()
In [101]:
cryptocurrency_results = { 'internal':0, 'external':0 }
cryptocurrency_results_per_month = {}
directory = r'./data/reddit/cryptocurrency/by_month/'
directory_mapping = cryddit.read.import_json_config(directory + 'mapping.json')
for key,mapping in directory_mapping.items():
try:
df = pd.read_csv(directory + key + '_posts.csv', header=0)
df.selftext = df.selftext.fillna('').astype(str)
except:
cryptocurrency_results_per_month[key] = {'total':0, 'internal':0, 'external':0}
continue
iterposts = ['internal' if len(row['selftext'])==0 else 'external' for _,row in df.iterrows()]
cryptocurrency_results_per_month[key] = {'total':len(iterposts),'internal':0, 'external':0}
for _ in iterposts:
cryptocurrency_results[_]+=1
cryptocurrency_results_per_month[key][_]+=1
In [102]:
_ = plt.bar(x=list(cryptocurrency_results.keys()), height=list(cryptocurrency_results.values()), color='c')
_ = plt.title('cryptocurrency external links vs internal posts')
plt.show()
In [103]:
plt.clf()
plt.figure(figsize=(18, 8))
totals = []
externals = []
internals = []
keys = list(cryptocurrency_results_per_month.keys())
for values in cryptocurrency_results_per_month.values():
totals.append(values['total'])
externals.append(values['external'])
internals.append(values['internal'])
_ = plt.plot_date(x=keys, y=list(totals), fmt='-r', alpha=.5, label='totals')
_ = plt.plot_date(x=keys, y=list(externals), fmt='-c', alpha=.5, label='externals')
_ = plt.plot_date(x=keys, y=list(internals), fmt='-b', alpha=.5, label='internals')
_ = plt.legend(loc='upper left')
_ = plt.xticks(keys, rotation='vertical')
plt.show()
In [ ]: