Tengo un archivo csv que leo en un marco de datos utilizando la API pandas. Tengo la intención de establecer mi propio encabezado en lugar de la primera fila predeterminada. (También me deshago de algunas de las filas.) ¿Cómo puedo lograr esto?Establezca los encabezados usando pandas.read_csv
He intentado lo siguiente, pero esto no funcionó como se esperaba:
header_row=['col1','col2','col3','col4', 'col1', 'col2'] # note the header has duplicate column values
df = pandas.read_csv(csv_file, skiprows=[0,1,2,3,4,5], names=header_row)
Esto da siguiente error -
File "third_party/py/pandas/io/parsers.py", line 187, in read_csv
File "third_party/py/pandas/io/parsers.py", line 160, in _read
File "third_party/py/pandas/io/parsers.py", line 628, in get_chunk
File "third_party/py/pandas/core/frame.py", line 302, in __init__
File "third_party/py/pandas/core/frame.py", line 388, in _init_dict
File "third_party/py/pandas/core/internals.py", line 1008, in form_blocks
File "third_party/py/pandas/core/internals.py", line 1036, in _simple_blockify
File "third_party/py/pandas/core/internals.py", line 1068, in _stack_dict
IndexError: index out of bounds
Luego trató de configuración a través de las columnas
df.columns = header_row
Pero este error se eliminó probablemente debido a valores de columna duplicados.
File "engines.pyx", line 101, in pandas._engines.DictIndexEngine.get_loc
(third_party/py/pandas/src/engines.c:2498)
File "engines.pyx", line 107, in pandas._engines.DictIndexEngine.get_loc
(third_party/py/pandas/src/engines.c:2447)
Exception: ('Index values are not unique', 'occurred at index entity')
Estoy usando pandas 0.7.3 versión. De la documentación -
nombres: Arsenal-como lista de nombres de columna
estoy seguro de que me falta algo sencillo aquí. Gracias por cualquier ayuda aquí.
Gracias por las referencias. Revisé y me deshice del requisito de valores duplicados de columna. – Manju