Как увеличить ось: Pandas: ValueError: Несоответствие длины: ожидаемая ось имеет 1 элемент, новые значения имеют 30 элементов - PullRequest
0 голосов
/ 07 сентября 2018

Как мне увеличить ось, чтобы иметь 30 элементов? Я сталкиваюсь с этой ошибкой

ValueError: Length mismatch: Expected axis has 1 elements, new values have 30 elements

Ниже указан мой код

import pandas as pd
df = pd.DataFrame()
for chunk in pd.read_csv('verybig.csv', sep='|', header=None, chunksize=1000, low_memory=False):
    df = pd.concat([df, chunk], ignore_index=True)

df.columns = ['MyTime','Attribute','Court','Energy','State','30','29','28','27','26','25','24','23','22','21','20','19','18','17','16','15','14','13','12','11','10','9','8','7','6']

Я хотел бы отметить, что Verybig.csv составляет около 1 ГБ

ОБНОВЛЕНИЕ: После выполнения df.head (5) я вижу следующее

>>> df.head(5)
                                               0
0  2018-09-01 00:00:03,262, aid:Ut7XsnHXaqf6p4Pyc...
1  2018-09-01 00:00:16,966, aid:kzhUOAJRHxfgwKdmy...
2  2018-09-01 00:00:19,008, aid:QeKRGSs4QRP-f8dIZ...
3  2018-09-01 00:00:19,202, aid:ScGESqQOEY6YkrGoY...
4  2018-09-01 00:00:24,799, aid:Hajk1NF0tIIVELz2N...
>>>

ОБНОВЛЕНИЕ 2: я думаю, что путь к моему решению состоит в том, чтобы разделить вышеуказанный столбец (столбец 0), используя запятую в качестве разделителя после выполнения следующего кода

    import pandas as pd
    df = pd.DataFrame()
    for chunk in pd.read_csv('verybig.csv', sep='|', header=None, chunksize=1000, low_memory=False):
        df = pd.concat([df, chunk], ignore_index=True)

1 Ответ

0 голосов
/ 07 сентября 2018

Если вы видите в df.head(), ваш DataFrame имеет только один столбец. Также вы можете увидеть разделитель «,» вместо «|». Вы можете попробовать следующее:

df=pd.read_csv('verybig.csv', sep=',', header=None, chunksize=1000, low_memory=False)
df.columns = ['MyTime','Attribute','Court','Energy','State','30','29','28','27','26','25','24','23','22','21','20','19','18','17','16','15','14','13','12','11','10','9','8','7','6']

Это работает для вас?

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