我正在做这个学校项目,涉及对这组数据进行卡方分析,而我正在使用Python进行。我收到以下错误,但不确定是什么原因引起的:
TypeError:'
我正在使用scipy,pandas和numpy,并且在回溯报告中,这似乎是我尝试在np数组上运行stats.chi2_contingency()
函数时发生错误的原因:
-> 242如果np.any(观察到<0):243提高ValueError(“ observed
中的所有值都必须为非负值。”)
[如果有人可以提供帮助,将不胜感激。这是代码:
# Converting all data series/columns into list
region = data['region'].values.tolist()
ideology = data['ideology'].values.tolist()
relserv = data['relserv'].values.tolist()
marstat = data['marstat'].values.tolist()
ethnic = data['ethnic'].values.tolist()
gender = data['gender'].values.tolist()
political = np.array([region,
ideology,
relserv,
marstat,
ethnic,
gender])
stats.chi2_contingency(political)
我认为错误在这里非常有用。您的其中一个列表和docs中必须有一个负数:
列联表。该表包含观察到的频率(即出现次数)中的每个类别。在二维在这种情况下,该表通常被描述为“ R x C表”。
因此发生频率不能为负。那是我的猜测,因为我看不到您的价值观。