Заполнение Pandas DataFrame неполными данными - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь создать F-таблицу для теста Anova.У меня уже есть такие значения:

data = [[ssBetween,ssWithin,ssTotal],[dfbetween,dfwithin,dftotal], [msBetween,msWithin],[F]]
index = ['Between','Total','Within']
columns = ['SS','df','MS','F']
df = pd.DataFrame(index=index,columns=columns)
df['SS'] = data[0]
df['df'] = data[1]
df['MS'] = data[2]
df['F'] = data[3]

Когда я запускаю, я получаю эту ошибку:

ValueError: Длина значений не соответствует длине индекса

Я понимаюЯ мог бы просто заполнить пропущенные значения нулями или чем-то еще, но я хотел изучить более питонический способ сделать это.Я просто хочу заполнить таблицу значениями, которые у меня есть, и оставить оставшиеся пробелы в таблице как нулевые значения.

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Вы можете использовать from_dict()

df = pd.DataFrame.from_dict( {k: v for k,v in zip(columns, data)}, orient='index').T
df.index = index

        SS          df          MS          F
Between ssBetween   dfbetween   msBetween   F
Total   ssWithin    dfwithin    msWithin    None
Within  ssTotal     dftotal     None        None
0 голосов
/ 14 мая 2018

Просто используя добавление ваших данных

pd.DataFrame(data = data,index = columns,columns = index).T
Out[149]: 
                SS         df         MS     F
Between  ssBetween  dfbetween  msBetween     F
Total     ssWithin   dfwithin   msWithin  None
Within     ssTotal    dftotal       None  None
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...