2016-05-26 7 views
-2

のためのLDAを再現しようとするとインデントブロックを予想a pandas.core.series.SeriesIndentationError:</p> <p>私のコレクション::01​​、されて、私は私のコレクションの最初の記事の中でLDA分布を得るためにしようとしていますが、私はいくつかのエラーに実行していた文書

print(ldamodel[doc_set[1]]) 

私は次のエラーを実行します:ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().を私はでそれを解決すると思う:私は簡単なコードを実行したいときはいつでもそれにも関わらず

if doc_set is not None: 
print(ldamodel[doc_set[1]]) 

を、今私は次のエラーを取得する:IndentationError: expected an indented block。私は訂正よりもむしろ誤りの直観を探しています。私はそれが大量であるため、私は私のLDA全体を複製することができません。前もって感謝します!

+2

空白はPythonでは重要です。すべてのブロックはインデントしなければなりません。あなたが 'もし...なら'と言ったので、おそらくあなたはそのブロックに何かを入れたいと思うでしょう。 'print'呼び出しをインデントしなかったので、Pythonはあなたがブロックに何も入れなかったと考えます。その行をインデントするだけです。 – zondo

答えて

1

printステートメントをifブロック内に配置していないため、インデントが正しくありません。コロン(:)で行を終了する場合、インデントレベルを上げる必要があります。そうしないと、IndentationError例外が発生します。
これは正しいコードのようになります。

if doc_set is not None: 
    print(ldamodel[doc_set[1]]) 
1

インデントはPythonで非常に独特です。ブロックごとに空白またはタブを使用して、階層を維持する必要があります。各ブロックは、タブまたは(任意の数の)空白のいずれかしか持つことができません。

for item in list: 
    print item 

if flag: 
    raise SystemExit 

コードの最初のブロックでは、私は4つの空白を使用し、2番目は2つを使用しました。

コメントは同じです。コメントはそれに応じて字下げする必要があります。

print 'Starting module' 
if not configs: 
    ''' 
    sys.exit('Error in Configuration files.') 
    ''' 
    pass 

この場合、行はコメントされることを意図しており、pythonは文句を言わない。さもなければインデントに関するエラーをスローします。

関連する問題

 関連する問題