質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

273閲覧

pandasのインデックスを時刻で指定するときpylintでエラーが発生します

rneko

総合スコア18

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

1クリップ

投稿2019/02/25 02:43

編集2019/02/25 02:44

前提・実現したいこと

Pythonで機械学習をやっております。その時に、時系列データの処理があります。
読み込んだデータは、out.csvと言うファイルで、

csv

1date,hoge,fuga 22008-06-25 00:10:00,100.213,0.5

となっております(本来は行列ともに更に長いデータです)。
これを、Pandasのread_csvを用いて、

python

1df_aaa = pd.read_csv('./out.csv', header=0, index_col=0, parse_dates=True)

として読み込みます。
ここで、

python

1df_aaa = df_aaa.loc['2008-01-01':'2010-12-31', :]

として、実際のコードはしっかりとスライスをしてくれます。
ところが、この時に下に示すようなPylintのエラーが発生します。
コードは動くので問題ないのですが、常にエラーが出ているので気持ちが悪い状況です。これを表示させない、ないしエラーと認識させない方法はありますでしょうか。

お知恵をお貸しいただければ幸いです。
よろしくお願いいたします。

発生している問題・エラーメッセージ

Pylintにより以下のように指摘されます。

Slice index is not an int, None, or instance with __index__ 詳細--> { "resource": "/Users/myname/mydirectry/slice.py", "owner": "python", "code": "invalid-slice-index", "severity": 8, "message": "Slice index is not an int, None, or instance with __index__", "source": "pylint", "startLineNumber": 95, "startColumn": 1, "endLineNumber": 95, "endColumn": 1 }

該当のソースコード

python

1df_aaa = df_aaa.loc['2008-01-01':'2010-12-31', :]

試したこと

以下のようにpylintを設定しました。ホワイトリストなどを指定しています。

json

1"python.linting.pylintArgs": ["--ignored-modules=numpy,pandas,matplotlib", 2 "--ignored-classes=numpy,pandas,matplotlib", 3 "--extension-pkg-whitelist=numpy,pandas,matplotlib"]

補足情報(FW/ツールのバージョンなど)

VisualStudioCodeをつかっておりまして、その時の「問題」の欄で表示されます。
またPython周りのバージョンは以下のようになっております。

zsh

1% pylint --version 2pylint 1.6.4, 3astroid 1.4.9 4Python 3.6.1 |Anaconda 4.4.0 (x86_64)

以上になります。
お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wwbQzhMkhhgEmhU

2019/02/25 17:13

昔のバグのようですよ https://github.com/PyCQA/pylint/issues/1534 pythonのバージョンが2.7系ですが、pylintのバージョンが1.7.1で発生していたようなので、そういうことなのではないかと... ちなみに私の環境だと (sample) user@lubuntu:~/python/sample$ pylint --version pylint 2.2.2 astroid 2.1.0 Python 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] (sample) user@lubuntu:~/python/sample$ こんな感じですが、以下のコードを開いても問題は指摘されません。 import pandas as pd df_aaa = pd.read_csv('./out.csv', header=0, index_col=0, parse_dates=True) df_aaa = df_aaa.loc['2008-01-01':'2010-12-31', :]
rneko

2019/02/26 11:17

wwbQzhMkhhgEmhU様 ご回答ありがとうございます。 まさに仰るとおりで、pipでpylintのバージョンを2.2.2までアップデートしてやることによって解決いたしました。長く疑問だったので大変助かりました。 pipのアップデートなどは余りしておらず、気を付けたいと思います。 せっかくご回答頂いたのですが、「質問への追記・修正の依頼」にお書きになっているので、もしよろしければ回答欄にコピーアンドペーストして頂ければと思います。 (teratailは初めてでして、よく分かっていませんが、ご回答に高評価などをつけることが出来るようになると思います。)
wwbQzhMkhhgEmhU

2019/02/26 11:43

いや、時間があったらでいいので、実際に対処した内容を自分で書いてください。
rneko

2019/02/26 11:44

ありがとうございます。承知しました。今から書きたいと思います。 仰るのは自己解決の欄でよろしいですか。
guest

回答1

0

自己解決

解決法

以下のようにpylintのアップデートを行いました。

bash

1pip install -U pylint

アップデートを行うことにより、pylintのバージョンが1.6.4から2.2.2にアップデートされたのを確認しました。
visual studio codeを再起動し、問題が発生しないことも確認済です。

原因

pylintのバージョンが古いことが問題でした。issueにも上がっていたようです。
Error on pandas.DataFrame slice #1534 (Github)

私は、pyenvを用いてanacondaを導入しているのですが、その際のupdateを蔑ろにしていたのが問題なのだと思っております。

謝辞

wwbQzhMkhhgEmhU様のアドバイスのお陰で解決しました。
大変助かりました。
ありがとうございました。

投稿2019/02/26 11:56

編集2019/02/26 11:57
rneko

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問