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()


<matplotlib.figure.Figure at 0x206040f1710>

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()


<matplotlib.figure.Figure at 0x20607884048>

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()


<matplotlib.figure.Figure at 0x206022e2b70>

In [ ]: