回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>对于以下df</p>
<pre><code>data=[['TAMU', 54, 0, 0, 6, 5, 0,],['UIUC', 33, 43, 5, 0, 76, 81],
['USC',4, 1, 0, 7, 21, 4], ['Austin',22,31, 0, 0,55, 0],
['UCLA', 55, 6, 7, 9, 11,12]]
pd.DataFrame(data,columns = ['Name', 'Research', 'Thesis',
'Proposal', 'AI', 'Analytics', 'Data'])
</code></pre>
<p>我想为两个指定行(比如USC和UCLA)的所有可能的列组合(例如:AI,Analytics--Data,AI)创建列联表,以提供给我的chisquare函数</p>
<pre><code>def overflow(school1,school2,alpha):
pvals_list=[]
data=[['TAMU', 54, 0, 0, 6, 5, 0,],['UIUC', 33, 43, 5, 0, 76, 81],
['USC',4, 1, 0, 7, 21, 4], ['Austin',22,31, 0, 0,55, 0],
['UCLA', 55, 6, 7, 9, 11,12]]
pd.DataFrame(data,columns = ['Name', 'Research', 'Thesis', 'Proposal',
'AI', 'Analytics', 'Data'])
df=df[(df['Unnamed: 0'] == school1) | (df['Unnamed: 0'] == school2)]
df=df.loc[:, df.ne(0).all()]
df=df.set_index('Name')
###
####code to create columns pairs [for loop?]to feed to data_crosstab below
###
data_crosstab = pd.crosstab()
chi,p_vals = stats.chi2_contingency(data_crosstab)[:2]
if p > alpha:
pvals_list.appned(p_vals)
return(pvals_list)
overflow('USC','UCLA',0.05)
</code></pre>
<p><strong>编辑:到目前为止,我已经尝试了几种不同的方法,但没有一种有效。我们将非常感谢您的帮助。</strong></p>