同じようなものがありましたが、インデックスを取得しようとしたときにKeyErrorが発生するので、トピックを再度開きます。 (0はちょうどそれがまだ買っていないことを意味します)と私がしたいことは、ソートのを作ることですラベルが存在するインデックスを取得しようとしたときにKeyErrorを取得する(パンダ)
1 0 0 2 3 0 0 4 0 5
0 0 0 0 0 1 0 2 3 0
各列が異なる製品がある:私が持っているもの
は基本的に、順次情報をCSV形式でありますリンクリストとは次のように買った製品を手配し、この
1 - > 2 - > 3 - > 4など。
私は、この特定の順序などでそれらの操作を実行する必要があるので、私はこのようにそれを必要としますインデックスを取得する必要があります。
ネストされたループで各セルをチェックし、このようなリンクされたリストを作成することができますが、パンダが私にこのエラーを表示することは間違いありません。 私が見ている限り、それは非推奨ではなく、正しく動作するはずです。 get_loc()からKeyErrorと言及された人はどこにも見つかりませんでした。ここで
は私のコードです:
def get_current_prods(self,list):
"""This gets the sequence of only the products that are already available and makes a new list with the indexes"""
counter= 1
for i in range(0,self.num_of_fields):
if counter in list.values:
print list.index.get_loc(str(counter))
counter=counter+1
if __name__ == '__main__':
b = bayes_inference()
print b.probs
print b.seq
for row in range(0,b.probs.shape[0]):
list = b.seq.ix[row]
print list
b.get_current_prods(list)
は、ここでスタックトレースです:
File "/home/kavaev/bayes_inference.py", line 32, in <module>
b.get_current_prods(list)
File "/home/kavaev/bayes_inference.py", line 18, in get_current_prods
print list.index.get_loc(str(counter))
File "/usr/local/lib/python2.7/dist-packages/pandas/indexes/base.py", line 2106, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas/index.pyx", line 139, in pandas.index.IndexEngine.get_loc (pandas/index.c:4160)
File "pandas/index.pyx", line 161, in pandas.index.IndexEngine.get_loc (pandas/index.c:4024)
File "pandas/src/hashtable_class_helper.pxi", line 732, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:13161)
File "pandas/src/hashtable_class_helper.pxi", line 740, in pandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:13115)
KeyError: '1'
私はあなたが問題に答えるのに十分な新しい情報を5つ持っているかどうかはわかりません。各行は何を表していますか?正しいデータフレームがどのように表示されるかを出力することをお勧めします。 –