2016-11-19 29 views
1

フォルダにファイルがある間にファイルが存在しないというエラーが表示されますが、間違っている場所を教えてください。パンダが収束しない

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 

私はindex_col = Falseをサポートしていませんdocumentation of pandas 0.19.1pandas.DataFrame.from_csvを1として例

+0

最初のエラー:スクリプトのインデントが間違っています。次に:スラッシュの代わりにバックスラッシュ。おそらく、Windowsで設定された古いファイルを使用している可能性があります。 – user3159253

+0

@ user3159253と同様に、 'def'行の後にすべてをインデントする必要があると言います。そうでなければ、ファイルパスは変更されません。 –

+0

@ user3159253あなたはpeak_score = '\ Users \ admin \ Desktop \ peak_score.txt'のようなデータをインポートすることを意味しますか?はい、それは窓に基づいていた、今私はMacを使用しています –

答えて

2

の正確なファイル へのパスを設定しようとしています。代わりにpandas.read_csvを使用してみてください(同じパラメータで)。また、あなたがパンダの最新バージョンを使用していることを確認してください。

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から変更するときにはパスを修正する必要があります。

+0

素晴らしい!ありがとう –

関連する問題