我有一个 csv 文件,我使用 pandas API 将其读入数据框。我打算设置自己的标题而不是默认的第一行。(我也去掉了一些行。)我怎样才能最好地做到这一点?
我尝试了以下方法,但这并没有按预期工作:
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)
这会产生以下错误 -
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
然后我尝试通过设置列
df.columns = header_row
但是这个错误可能是因为重复的列值。
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')
我正在使用熊猫 0.7.3 版本。从文档 -
names : 类似数组的列名列表
我确定我在这里遗漏了一些简单的东西。感谢您在这里的任何帮助。