2017-06-27 10 views
0

私はこの問題は、私が話すことはありませんので、私は翻訳を支援するために翻訳を使用することだと思いのpython 2.7シリーズKeyError例外:-1

私は私に私の質問教えてみましょう:。

バージョン:python2.7を

質問:
enter image description here コード:

<pre> 
sql = "select {}, {} from {} where {};".format(v1, v2, table, where) 
     df = pd.read_sql(sql, app.config.get('sqlalchemy_engine')) 
     df_dropna = df.dropna() 
     dddd = df_dropna[v2] 
     print type(dddd) 
     print dddd[1] 
     # print dddd # Have the answer 
     print dddd[-1] # keyerror: -1 
</pre> 
error: 
<pre> 
    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 2000, in __call__ 
    return self.wsgi_app(environ, start_response) 
    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1991, in wsgi_app 
    response = self.make_response(self.handle_exception(e)) 
    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1567, in handle_exception 
    reraise(exc_type, exc_value, tb) 
    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1988, in wsgi_app 
    response = self.full_dispatch_request() 
    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1641, in full_dispatch_request 
    rv = self.handle_user_exception(e) 
    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1544, in handle_user_exception 
    reraise(exc_type, exc_value, tb) 
    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1639, in full_dispatch_request 
    rv = self.dispatch_request() 
    File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1625, in dispatch_request 
    return self.view_functions[rule.endpoint](**req.view_args) 
    File "/opt/code/my_code/app4wp/app/views.py", line 136, in varianc_get 
    print dddd[-1] 
    File "/usr/local/lib/python2.7/dist-packages/pandas/core/series.py", line 601, in __getitem__ 
    result = self.index.get_value(self, key) 
    File "/usr/local/lib/python2.7/dist-packages/pandas/indexes/base.py", line 2169, in get_value 
    tz=getattr(series.dtype, 'tz', None)) 
    File "pandas/index.pyx", line 105, in pandas.index.IndexEngine.get_value (pandas/index.c:3567) 

    File "pandas/index.pyx", line 113, in pandas.index.IndexEngine.get_value (pandas/index.c:3250) 

    File "pandas/index.pyx", line 161, in pandas.index.IndexEngine.get_loc (pandas/index.c:4289) 

    File "pandas/src/hashtable_class_helper.pxi", line 404, in pandas.hashtable.Int64HashTable.get_item (pandas/hashtable.c:8555) 

    File "pandas/src/hashtable_class_helper.pxi", line 410, in pandas.hashtable.Int64HashTable.get_item (pandas/hashtable.c:8499) 

KeyError: -1 
</pre> 

けど: enter image description here

なぜ私は何をすべき、

答えて

0

.ilocを使用してみてください!!!してください:?

print dddd.iloc[-1] 
+0

[OK]を、あなたは思い!!!が、あなたは説明してみません私にしてください –

+0

>。 >>> obj3 = Series(sdata)>>> obj3 オハイオ州3500 オレゴン16000(オハイオ州):3500、 "テキサス州":71000、 "オレゴン州:16000、"ユタ州:51000}>>> obj3 = テキサス71000 ユタ51000 dtype:int64 >>> obj3 [-1] .............これは正しいですか? –

+0

dddd [-1]を使用すると、列を探しています存在しない-1キーを使用します。だから、インデックスをスライスするには '.iloc'を使わなければなりません。 Pandasのデータフレームは、通常のPythonのリストやd慣習などとは違って動作します。 –

関連する問題