Как исправить проблему с трассировкой в ​​Dataframe Python в Ubuntu - PullRequest
0 голосов
/ 22 марта 2020

Я пытался использовать DataFrame в Python. Команды:

import pandas as pd
from numpy.random import uniform
df = pd.DataFrame(uniform(0,1,(3,4)),
                  index = 'A B C D'.split(),
                  columns='E F G H'.split())

Но, к сожалению, я получаю следующую ошибку. У кого-нибудь есть идеи, как решить эту проблему?

------------------------------ --------------------------------------------- ValueError Traceback (самый последний последний вызов) ~ / anaconda3 / lib / python3 .7 / site-packages / pandas / core / internals / Manager.py в create_block_manager_from_blocks (блоки, оси) 1680 -> 1681 mgr = BlockManager (блоки, оси) 1682 мгр. _consolidate_inplace ()

~ / anaconda3 / lib / python3 .7 / site-packages / pandas / core / internals / Manager.py в init (self, блоки, оси, do_integrity_check ) 142 if do_integrity_check: -> 143 self._verify_integrity () 144

~ / anaconda3 / lib / python3 .7 / site-packages / pandas / core / internals / Manager.py в _verify_integrity (self ) 344 if block._verify_integrity и block.shape [1:]! = Mgr_shape [1:]: -> 345 construction_error (tot_items, block.shape [1:], self.axes) 346 if len (self.items) ! = tot_items:

~ / anaconda3 / lib / python3 .7 / site-packages / pandas / core / internals / Manager.py в construction_error (tot_items , block_shape, axes, e) 1718
повышение ValueError (-> 1719 "Форма переданных значений: {0}, индексы подразумевают {1}". Формат (переданный, подразумеваемый) 1720)

ValueError: Форма передаваемых значений (5, 4), индексы подразумевают (4, 4)

Во время обработки вышеупомянутого исключения произошло другое исключение:

ValueError Traceback (последний вызов последним) в 1 df = pd.DataFrame (равномерное (0,1, (5,4)), 2 index = 'AB C D'.split (), ----> 3 столбца =' WXY Z'.split ( ))

~ / anaconda3 / lib / python3 .7 / site-packages / pandas / core / frame.py в init (self, data, index, columns, dtype, copy) 438 mgr = init_dict ({data.name: data}, индекс, столбцы, dtype = dtype) 439 else: -> 440 mgr = init_ndarray (данные, индекс, столбцы, dtype = dtype, copy = copy) 441 442 # Поскольку данные похожи на список или Iterable (будет использован в списке)

~ / anaconda3 / lib / python3 .7 / site-packages / pandas / core / internals / construction.py в init_ndarray ( значения, индекс, столбцы, dtype, copy) 211 block_values ​​= [значения] 212 -> 213 вернуть create_block_manager_from_blocks (block_values, [столбцы, индекс]) 214 215

~ / anaconda3 / lib / python3 .7 / site-packages / pandas / core / internals / Manager.py в create_block_manager_from_blocks (блоки, оси) 1686
blocks = [getattr (b, "values", b) для b в блоках] 1687
tot_items = sum (b.shape [0] для b в блоках) -> 1688 construction_error (tot_items, blocks [0] .shape [1:], axes, e) 1689 1690

~ / anaconda3 / lib / python3 .7 / site-packages / pandas / core / internals / Manager.py в construction_error (tot_items, block_shape, axes, e) 1717
повысить ValueError («Пустые данные переданы с указанными индексами.») 1718 повысить ValueError (-> 1719 «Форма переданных значений равна {0}, индексы подразумевают {1}». формат (передан, подразумевается) 1720) 1721

ValueError: Форма переданных значений (5, 4), индексы подразумевают (4, 4)

1 Ответ

1 голос
/ 22 марта 2020

Вы создаете матрицу 3х4, но предоставляете 4 строки индексов. Предоставьте только 3 строки для вашего index.

import pandas as pd
from numpy.random import uniform
df = pd.DataFrame(uniform(0,1,(3,4)),
              index = 'A B C'.split(),
              columns='E F G H'.split())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...