gpt4 book ai didi

python - Pandas 返回 "Passed header names mismatches usecols"错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:03 28 4
gpt4 key购买 nike

以下按预期工作。 190栏全部读入。

pd.read_csv("data.csv", 
header=None,
names=columns,
# usecols=columns[:10],
nrows=10
)

我以前使用过 usecols 参数,所以我很困惑为什么它不再对我有用。我猜想简单地将前 10 个列名切片就可以了,但我继续收到“传递的 header 名称与 usecols 不匹配”错误。

我正在使用 Pandas 0.16.2。

pd.read_csv("data.csv", 
header=None,
names=columns,
usecols=columns[:10],
nrows=10
)

回溯

---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-44> in <module>()
3 nrows=10,
4 header=None,
----> 5 names=columns,
6 )

/.../lib/python2.7/site-packages/pandas/io/parsers.pyc in parser_f(filepath_or_buffer, sep, dialect, compression, doublequote, escapechar, quotechar, quoting, skipinitialspace, lineterminator, header, index_col, names, prefix, skiprows, skipfooter, skip_footer, na_values, na_fvalues, true_values, false_values, delimiter, converters, dtype, usecols, engine, delim_whitespace, as_recarray, na_filter, compact_ints, use_unsigned, low_memory, buffer_lines, warn_bad_lines, error_bad_lines, keep_default_na, thousands, comment, decimal, parse_dates, keep_date_col, dayfirst, date_parser, memory_map, float_precision, nrows, iterator, chunksize, verbose, encoding, squeeze, mangle_dupe_cols, tupleize_cols, infer_datetime_format, skip_blank_lines)
472 skip_blank_lines=skip_blank_lines)
473
--> 474 return _read(filepath_or_buffer, kwds)
475
476 parser_f.__name__ = name

/.../lib/python2.7/site-packages/pandas/io/parsers.pyc in _read(filepath_or_buffer, kwds)
248
249 # Create the parser.
--> 250 parser = TextFileReader(filepath_or_buffer, **kwds)
251
252 if (nrows is not None) and (chunksize is not None):

/.../lib/python2.7/site-packages/pandas/io/parsers.pyc in __init__(self, f, engine, **kwds)
564 self.options['has_index_names'] = kwds['has_index_names']
565
--> 566 self._make_engine(self.engine)
567
568 def _get_options_with_defaults(self, engine):

/.../m9tn/lib/python2.7/site-packages/pandas/io/parsers.pyc in _make_engine(self, engine)
703 def _make_engine(self, engine='c'):
704 if engine == 'c':
--> 705 self._engine = CParserWrapper(self.f, **self.options)
706 else:
707 if engine == 'python':

/.../lib/python2.7/site-packages/pandas/io/parsers.pyc in __init__(self, src, **kwds)
1070 kwds['allow_leading_cols'] = self.index_col is not False
1071
-> 1072 self._reader = _parser.TextReader(src, **kwds)
1073
1074 # XXX

pandas/parser.pyx in pandas.parser.TextReader.__cinit__ (pandas/parser.c:4732)()

pandas/parser.pyx in pandas.parser.TextReader._get_header (pandas/parser.c:7330)()

ValueError: Passed header names mismatches usecols

最佳答案

原来数据集中有 191 列(不是 190)。 Pandas 自动将我的第一列数据设置为索引。我不太清楚为什么会导致它出错,因为 usecols 中的所有列实际上都存在于已解析的数据集中。

因此,解决方案是确认名称中的列数与数据集中的列数完全对应。

另外,我找到了this GitHub 上的讨论。

关于python - Pandas 返回 "Passed header names mismatches usecols"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31017823/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com