Невозможно добавить имена столбцов в DataFrame - PullRequest
0 голосов
/ 17 января 2020

Вот мой пример csv-файла после печати:

  1556890689.332073;16384;340;48188.23529411765;[1618.6294555664062   1619.0826416015625  ...   1620.391845703125.584   1620.1904296874998]
0  1556890689.746113;16384;341;48046.92082111437;...                         1619.082642  ...             1620.442200   1619.6868896484373]
1  1556890690.1393259;16384;340;48188.23529411765...                         1620.643616  ...             1619.888306       1619.384765625]
2  1556890690.536072;16384;340;48188.23529411765;...                         1619.737244  ...             1620.089722    1620.391845703125]

Я пытаюсь запустить это:

import pandas as pd

data = pd.read_csv("project_fan.csv", error_bad_lines = False) 
print(data.head())
data.columns['unixTime', 'sampleAmount','Time','samplingRate', 'Data']

и получаю следующие ошибки:

Traceback (most recent call last):
  File "new.py", line 6, in <module>
    data.columns['unixTime', 'sampleAmount','Time','samplingRate', 'Data']
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/indexes/base.py", line 3969, in __getitem__
    result = getitem(key)
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

1 Ответ

3 голосов
/ 17 января 2020

Параметр разделителя по умолчанию в read_csv равен ,, поэтому необходимо добавить параметр sep=';', для имен новых столбцов, если их нет, в csv добавить параметр names со списком с таким же длина как количество столбцов:

names = ['unixTime', 'sampleAmount','Time','samplingRate', 'Data']
data = pd.read_csv("project_fan.csv", sep=';', error_bad_lines = False, names=names) 
...