大熊猫无法收敛

时间:2016-11-19 10:21:17

标签: python pandas

当我在文件夹中有文件时,我收到一个文件不存在的错误,请告诉我我在哪里犯了错误?

 pd.DataFrame.from_csv

我收到的错误如下所示。

Traceback (most recent call last):
  File "main.py", line 194, in <module>
    start_path+end_res)
  File "/Users/admin/Desktop/script/mergeT.py", line 5, in merge
    df_peak = pd.DataFrame.from_csv(peak_score, index_col = False, sep='\t')
  File "/Library/Python/2.7/site-packages/pandas/core/frame.py", line 1231, in from_csv
    infer_datetime_format=infer_datetime_format)
  File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 645, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 388, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
  File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 729, in __init__
    self._make_engine(self.engine)
  File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 922, in _make_engine
    self._engine = CParserWrapper(self.f, **self.options)
  File "/Library/Python/2.7/site-packages/pandas/io/parsers.py", line 1389, in __init__
    self._reader = _parser.TextReader(src, **kwds)
  File "pandas/parser.pyx", line 373, in pandas.parser.TextReader.__cinit__ (pandas/parser.c:4175)
  File "pandas/parser.pyx", line 667, in pandas.parse**strong text**r.TextReader._setup_parser_source (pandas/parser.c:8440)
IOError: File results\scoring\fed\score_peak.txt does not exist

我试图设置确切文件的路径 例如

1 个答案:

答案 0 :(得分:2)

根据documentation of pandas 0.19.1 pandas.DataFrame.from_csv不支持index_col = False。尝试使用pandas.read_csv代替(使用相同的参数)。还要确保使用最新版本的pandas。

看看是否有效:

import pandas as pd
def merge(peak_score, profile_score, res_file):
    df_peak = pd.read_csv(peak_score, index_col = False, sep='\t')
    df_profile = pd.read_csv(profile_score, index_col = False, sep='\t')
    result = pd.concat([df_peak, df_profile], axis=1)
    print result.head()
    test = []
    for a,b in zip(result['prot_a_p'],result['prot_b_p']):
        if a == b:
            test.append(1)
        else:
            test.append(0)
    result['test']=test
    result = result[result['test']==0] 
    del result['test']
    result = result.fillna(0)
    result.to_csv(res_file)   

if __name__ == '__main__':
    pass

关于从Windows更改为OS X时的路径问题:

在所有类型的Unix中,路径都使用斜杠/编写,而在Windows中则使用反斜杠\。由于OS X是Unix的后代,正如其他用户正确指出的那样,当您从Windows进行更改时,您需要调整路径。