Почему я получаю «ValueError: несоответствие между column_names и столбцами, закодированными заданными терминами» в том, что похоже на действительный фрейм данных? - PullRequest
0 голосов
/ 31 октября 2019

Я создал фрейм данных pandas из словаря python, который, насколько я вижу, выглядит корректным, но генерирует «ValueError: несоответствие между column_names и столбцами, закодированными заданными терминами», когда я пытаюсь запустить ANOVA. Подобным образом построенный фрейм данных из разных данных не имеет такой проблемы. Что означает эта ошибка значения? Посмотрев на design_info.py, я понял, что количество столбцов не соответствует количеству заголовков столбцов, но я не вижу ничего плохого в том, что DF исследует голову, что мне не хватает?

data = {'PID': [..], 'Focus': [..], 'proportionGazeTime': [..], 'gazeFrequency': [..], 'avGazeTime': [..]}
df = pd.DataFrame(data)
aovrm = AnovaRM(df, 'proportionGazeTime', 'PID', within=['Focus'])
res = aovrm.fit()

Для ясности [..] представляет список значений, связанных с каждым ключом dict.

распечатка из df.head ():

  PID        Focus  proportionGazeTime  gazeFrequency  avGazeTime  
0   1  RightArrowS            0.013770      16.408938    0.057735  
1   1       PlaneS            0.499794       2.586971    0.386553  
2   1   AltimeterS            0.012714      16.125863    0.059580  
3   1    Mini-MapS            0.033169       9.209054    0.105693  
4   1     nothingS            0.103445       4.368551    0.224747  

Я посмотрел на df.columns.values, и это дает мне заголовки, которые я ожидал, и имеет длину 5, как и должно.

1 Ответ

0 голосов
/ 31 октября 2019

Для меня это работает

from statsmodels.stats.anova import AnovaRM # 0.9.0
import pandas as pd # 0.24.2

data = {'PID': [1,1,1,1], 'Focus': ['R','P','A','M'], 'proportionGazeTime': [0.1,0.2,0.3,0.4], 'gazeFrequency': [16,2,9,4], 'avGazeTime': [7,8,9,10]}
df = pd.DataFrame(data)

df.head()
aovrm = AnovaRM(df, 'proportionGazeTime', 'PID', within=['Focus'])

res = aovrm.fit()

Может быть, у нас разные версии?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...