編集:これを見つけて下に回答しました。これは将来kaggleからcsvファイルを直接ダウンロードする他の初心者にとって役に立ちます。 wgetがCSVファイルをダウンロードするように表示されても、私は気づいていない、彼らは実際にジップです。KaggleのCSVをパンダのデータフレームに変換する際の解析の問題
私はパンダには新しく、一般的にこれらのデータセットで作業しています。私がインストールされていないとJupyter中で動作するように私自身のVMにいくつかのkaggleデータセットをダウンロードするkaggle-CLIの最新バージョンにアップグレード:
[[email protected] ~]# kg dataset -u "me" -p "mypassword" -o "sohier" -d "london-police-records"
downloading https://www.kaggle.com/sohier/london-police-records/downloads/london-outcomes.csv
london-outcomes.csv 100% |##################################################################################| Time: 0:00:03 37.7 MiB/s
downloading https://www.kaggle.com/sohier/london-police-records/downloads/london-stop-and-search.csv
london-stop-and-search.csv 100% |###########################################################################| Time: 0:00:00 5.3 MiB/s
downloading https://www.kaggle.com/sohier/london-police-records/downloads/london-street.csv
london-street.csv 100% |####################################################################################| Time: 0:00:02 42.8 MiB/s
ダウンロード自体には問題が。私は、データを操作するためにパンダを使用しようとすると:
---------------------------------------------------------------------------
ParserError Traceback (most recent call last)
<ipython-input-16-b1c1b3a6a38f> in <module>()
----> 1 london_street = pd.read_csv('london-street.csv')
/opt/anaconda3/lib/python3.6/site-packages/pandas/io/parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skipfooter, skip_footer, doublequote, delim_whitespace, as_recarray, compact_ints, use_unsigned, low_memory, buffer_lines, memory_map, float_precision)
653 skip_blank_lines=skip_blank_lines)
654
--> 655 return _read(filepath_or_buffer, kwds)
656
657 parser_f.__name__ = name
/opt/anaconda3/lib/python3.6/site-packages/pandas/io/parsers.py in _read(filepath_or_buffer, kwds)
409
410 try:
--> 411 data = parser.read(nrows)
412 finally:
413 parser.close()
/opt/anaconda3/lib/python3.6/site-packages/pandas/io/parsers.py in read(self, nrows)
1003 raise ValueError('skipfooter not supported for iteration')
1004
-> 1005 ret = self._engine.read(nrows)
1006
1007 if self.options.get('as_recarray'):
/opt/anaconda3/lib/python3.6/site-packages/pandas/io/parsers.py in read(self, nrows)
1746 def read(self, nrows=None):
1747 try:
-> 1748 data = self._reader.read(nrows)
1749 except StopIteration:
1750 if self._first_chunk:
pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader.read (pandas/_libs/parsers.c:10862)()
pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._read_low_memory (pandas/_libs/parsers.c:11138)()
pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._read_rows (pandas/_libs/parsers.c:11884)()
pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._tokenize_rows (pandas/_libs/parsers.c:11755)()
pandas/_libs/parsers.pyx in pandas._libs.parsers.raise_parser_error (pandas/_libs/parsers.c:28765)()
ParserError: Error tokenizing data. C error: Expected 1 fields in line 3, saw 2
:PD
london_street = pd.read_csv( 'ロンドンstreet.csv')
として
輸入パンダは私がこれを取得します
私は見つけることができる最も類似した問題を調べました。私はsepパラメータと他のいくつかの設定(さまざまな方法で解析を破ります)でさまざまなオプションを試しましたが、このプロジェクト自体とデータの概要:
https://www.kaggle.com/sohier/london-police-records/data
これはかなり簡単なようです。 KaggleはクリーンなCSVファイルとして使用する前に、何か別のことをする必要がある外部データのダウンロードを行いますか?
私の推測では、csvファイルは大きすぎてメモリに収まりません。ファイルの大きさはどれくらいですか? 'read_csv'は、それが読める行の数を制限するオプションを与えますか?それは、少なくともメモリとの構文解析の問題を分離するでしょう。 – hpaulj
@hpaulj nrows = 20を追加しようとしましたが、結果は同じです。最後の行に基づいて書式設定に問題がある必要があります。 ParserError:データをトークン化する際にエラーが発生しました。 Cエラー:3行目に1のフィールドがあり、2になっています。 – Benny
エラーは行ごとの列数と関係があります。最初の行はヘッダーまたはコメントであり、スキップする必要があります。 – hpaulj