title: Can we generate contingency table for chisquare test using python?
body: <p>I am using scipy.stats.chi2_contingency method to get chi square statistics. We need to pass frequency table i.e. contingency table as parameter. But I have a feature vector and want to automatically generate the frequency table. Do we have any such function available?
  I am doing it like this currently:</p>
  
  <pre><code>def contigency_matrix_categorical(data_series,target_series,target_val,indicator_val):
    observed_freq={}
    for targets in target_val:
        observed_freq[targets]={}
        for indicators in indicator_val:
            observed_freq[targets][indicators['val']]=data_series[((target_series==targets)&amp;(data_series==indicators['val']))].count()
    f_obs=[]
    var1=0
    var2=0
    for i in observed_freq:
        var1=var1+1
        var2=0
        for j in observed_freq[i]:
            f_obs.append(observed_freq[i][j]+5)
            var2=var2+1
    arr=np.array(f_obs).reshape(var1,var2)
    c,p,dof,expected=chi2_contingency(arr)
    return {'score':c,'pval':p,'dof':dof}
  </code></pre>
  
  <p>Where data series and target series are the columns values and the other two are the name of the indicator.
  Can anyone help?
  thanks</p>