Specifically trying to understand why the total streams is pracitcally limited downwards for the same pop
import pandas as pd
import numpy as np
%matplotlib inline
%pylab inline
pylab.rcParams['figure.figsize'] = (12, 7)
from plotnine import *
pop = pd.read_feather('../data/pop_with_streams.feather').drop('index', axis = 1)
release_dates = pd.read_feather('../data/release_dates.feather')
pop_rel = pd.merge(pop, release_dates, left_on='track_spyid', right_on='spyid')
pop_rel['days_since_release']=((pop_rel['as_of']-pop_rel['release_date'])/pd.Timedelta('1 d'))
#TODO: Why are these
pop_rel = pop_rel[~pop_rel['days_since_release'].isnull()]
pop_rel['days_since_release'] = pop_rel['days_since_release'].astype(int)
pop_rel['diff_release_first_seen']=((pop_rel['first_seen']-pop_rel['release_date'])/pd.Timedelta('1 d'))
(ggplot(pop_rel[pop_rel['days_since_release'] < 10], aes('days_since_release', 'value', group = 'spyid')) + geom_line(alpha=0.3))
ggplot(pop, aes('as_of', 'value')) + geom_point(alpha = 0.1)
ggplot(pop, aes('as_of')) + geom_histogram()
streams = pd.read_feather('../data/raw_stream.feather')
streams.dtypes
len(streams)
ggplot(streams, aes('as_of', 'streams')) + geom_point(alpha = 0.1)
ggplot(streams, aes('as_of')) + geom_histogram()
pop = pd.read_feather('../data/pop_with_streams.feather').drop('index', axis = 1)
pop.set_index('as_of')
for start in np.arange(5):
pp = pop.groupby('track_spyid').apply(lambda x: x[start:(start + 1)])
zero_pp = len(pp[pp['value'] == 0])/len(pp)
print(ggplot(pp, aes('value')) + geom_histogram() + ggtitle(f'Start: {start}. Percent 0: {zero_pp:0.2f}'))
start = 0
pop_0 = pop.groupby('track_spyid').apply(lambda x: x[start:(start + 1)])
len(pop_0[pop_0['value']==0])/len(pop_0)