Anderson函数仅询问一个参数,该参数应为一维数组。所以我想知道如何通过两个不同的数组进行比较吗?谢谢
我使用scipy.stats.chi2_contingency方法来获取卡方统计数据.我们需要传递频率表即列联表作为参数.但我有一个特征向量,并希望自动生成频率表.我们有这样的功能吗?我现在这样做:
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)&(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}
Run Code Online (Sandbox Code Playgroud)
数据系列和目标系列是列值,另外两个是指标的名称.有人可以帮忙吗?谢谢
我的数据是:
data=[[2,2,2,2,2],[1,1,1,1,1],[3,3,3,3]]
Run Code Online (Sandbox Code Playgroud)
当我像这样通过时:
bartlett(*data)
Run Code Online (Sandbox Code Playgroud)
它给出的输出为(nan,nan)
Why?谢谢