簡體   English   中英

Spyder-TypeError中的雙向重復測量方差分析:列表索引必須是整數或切片,而不是numpy.float64

[英]Two-way Repeated Measures ANOVA in Spyder-TypeError: list indices must be integers or slices, not numpy.float64

我剛剛開始學習編碼,並想學習python。 我正在嘗試重新創建已經在Spyder上進行過的SPSS統計分析。 我通過復制一個示例來做到這一點: http : //www.statsmodels.org/0.6.1/examples/notebooks/generation/interactions_anova.html我的分析略小,但非常相似。 我正在逐步按照示例進行操作,並且在“看看數據:”步驟上遇到了麻煩。

我的工作是2x2重復測量方差分析。 IV是具有兩個條件的MATCH(是否使用了參與者的首選照明條件)。 DV是關於學習目標的測試前/測試后分數。

我收到錯誤:

  File "C:\Users\Tim\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 101, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/Tim/.spyder-py3/thesis.py", line 31, in <module>
    plt.scatter(group['MATCH'], marker=symbols[j], color=colors[i-k],

TypeError: list indices must be integers or slices, not numpy.float64

<matplotlib.figure.Figure at 0x278c15ea6d8> 

我的代碼:

from __future__ import print_function
from statsmodels.compat import urlopen
import numpy as np
np.set_printoptions(precision=4, suppress=True)
import statsmodels.api as sm
import pandas as pd
pd.set_option("display.width", 100)
import matplotlib.pyplot as plt
from statsmodels.formula.api import ols
from statsmodels.graphics.api import interaction_plot, abline_plot
from statsmodels.stats.anova import anova_lm


data = r'C:\Users\Tim\pandas\Thesis_main.csv'
data = pd.read_csv(data)


plt.figure(figsize=(6,6))
symbols = ['D', '^']
colors = ['r', 'g', 'blue']
factor_groups = data.groupby(['MATCH'])
for values, group in factor_groups:
    i,j = values
    plt.scatter(group['PRETEST'], group['POSTTEST'] marker=symbols[j], color=colors[i-1], s=144)
plt.xlabel('MATCH');
plt.ylabel('PRETEST');('POSTTEST');

數據:

https://github.com/tici0988/Sorting_contacts/blob/master/Thesis_main.csv

任何解決此錯誤的建議,或為我指明更有效的方向,將不勝感激! 謝謝 :)

您的代碼有幾個問題。 第一個是您嘗試僅使用x參數調用plt.scatter 您要針對哪個group['MATCH']進行策划?

接下來,您嘗試用浮點數索引列表symbols和/或列表colors ,這是不可能的。 我相信您使用的浮點數是PRETESTPOSTTEST分數(在代碼中用ik表示)。 我看不到數據,但我們假設得分是1.25等數字; 您不能在2個符號的列表中選擇索引1.25 ,因為這對python毫無意義。 您是否嘗試使用不同的符號和顏色表示不同的事物? 如果是這樣,代表什么? 如果不是,只需取出marker=symbols[j]color=colors[ik]參數。

僅供參考,在您的代碼中, j未定義; 鍵入symbols[j]時,您必須表示ik symbols[j]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM