###ディレクトリ内の全csvファイルでそれぞれ平均を求めて1ファイルへ出力したい
超初歩的な質問恐縮です。
JupyterNotebook(Python3.8.3)を用い、ディレクトリ内の全CSVファイル50個(各500行×20列)について、各列の平均値をファイルごとに求め、それらを1つのcsvとして出力したいと思っています。
エラーメッセージ --------------------------------------------------------------------------- ParserError Traceback (most recent call last) <ipython-input-40-0db4b09ad2c7> in <module> 1 csv_file=os.listdir("/gs/hs0/tga-science/takeda/bindingsasa") 2 for file in csv_file: ----> 3 df = pd.read_csv(file) 4 ~/.local/lib/python3.8/site-packages/pandas/io/parsers.py in read_csv(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision, storage_options) 608 kwds.update(kwds_defaults) 609 --> 610 return _read(filepath_or_buffer, kwds) 611 612 ~/.local/lib/python3.8/site-packages/pandas/io/parsers.py in _read(filepath_or_buffer, kwds) 466 467 with parser: --> 468 return parser.read(nrows) 469 470 ~/.local/lib/python3.8/site-packages/pandas/io/parsers.py in read(self, nrows) 1055 def read(self, nrows=None): 1056 nrows = validate_integer("nrows", nrows) -> 1057 index, columns, col_dict = self._engine.read(nrows) 1058 1059 if index is None: ~/.local/lib/python3.8/site-packages/pandas/io/parsers.py in read(self, nrows) 2059 def read(self, nrows=None): 2060 try: -> 2061 data = self._reader.read(nrows) 2062 except StopIteration: 2063 if self._first_chunk: pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader.read() pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._read_low_memory() pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._read_rows() pandas/_libs/parsers.pyx in pandas._libs.parsers.TextReader._tokenize_rows() pandas/_libs/parsers.pyx in pandas._libs.parsers.raise_parser_error() ParserError: Error tokenizing data. C error: Expected 1 fields in line 4, saw 2
該当のソースコード
ソースコード import pandas as pd csv_file=os.listdir("ワーキングディレクトリ") for file in csv_file: df = pd.read_csv(file) df.mean.to_csv("mean.csv")
試したこと
少し調べると上記エラーはファイルによって列columnが一定でないデータを読み込んだ際に生じるようです。各ファイルは同一のソフトウェアで同一操作で生成したため行列数は同じはずですが確認できていません。
なお、ここから先の平均値計算、ファイル出力は試せておりません。また、平均値を1つのファイルに出力する際にカラム名を計算元のファイル名に指定する事はできますでしょうか。
基本的な質問で大変申し訳ございませんが何卒よろしくお願い申し上げます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー