#特征处理
import pandas as pd
import numpy as np
import scipy
from scipy.stats import chi2
from pandas import DataFrame,Series
# #消除向量中除以0的警告
np.seterr(divide='ignore',invalid='ignore')
def chi3(arr):
'''
计算卡方值
arr:统计表,二维numpy数组
'''
# Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常
assert(arr.ndim==2)
R_N=arr.sum(axis=1)
C_N=arr.sum(axis=0)
N=arr.sum()
# 计算期望频数
E=np.ones(arr.shape)*C_N/N
E=(E.T*R_N).T
square=(arr-E)**2/E
square[E==0]=0
v=square.sum()
return