🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

1回答

1223閲覧

pandas csv 行抽出

raspypy

総合スコア247

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2019/10/31 05:20

編集2019/10/31 06:10

##やろうとしていること

扱っているcsvファイルの構成は、
'year', 'month', 'day', 'hour', 'minute', 'temp'
となっています。

まず、6列目の温度データの最大値を求めます。(ここまでできました。)

##困っていること

続いて、最大値の時刻を表示させようとしています。
プログラムの4行目で最大値と一致する行を抽出し、表示させているつもりですが、

このプログラムの実行結果は、次の通りです。
Trueという結果が返ってきてしまいます。

text

1True 2最高温度:23.224

プログラムコード

python

1import pandas as pd 2df = pd.read_csv('/home/pi/dev/data/temp.csv', names=['year', 'month', 'day', 'hour', 'minute', 'temperature']) 3max=df['temperature'].max() 4start=df.iloc[0:1,0:5] 5end=df.iloc[49:50,0:5] 6print (start) 7print (end) 8print (df[df['temperature'].max() == max]) 9print ('最高温度:'+ '{:.3f}'.format(max))

##csvファイル

csv

12019,10,31,13,0,23.1836748231 22019,10,31,13,1,23.2287463573 32019,10,31,13,3,23.2087145614 42019,10,31,13,4,23.2087145614 52019,10,31,13,6,23.2037066132 62019,10,31,13,7,23.2237384079 72019,10,31,13,9,23.2237384079 82019,10,31,13,10,23.233754307 92019,10,31,13,12,23.238762257 102019,10,31,13,13,23.233754307

##実行エラー

text

1 year month day hour minute 20 2019 10 31 13 55 3 year month day hour minute 449 2019 10 31 15 9 5Traceback (most recent call last): 6 File "./test.py", line 13, in <module> 7 print (df[df['temperature'].max() == max]) 8 File "/home/pi/.local/lib/python2.7/site-packages/pandas/core/frame.py", line 2927, in __getitem__ 9 indexer = self.columns.get_loc(key) 10 File "/home/pi/.local/lib/python2.7/site-packages/pandas/core/indexes/base.py", line 2659, in get_loc 11 return self._engine.get_loc(self._maybe_cast_indexer(key)) 12 File "pandas/_libs/index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc 13 File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc 14 File "pandas/_libs/hashtable_class_helper.pxi", line 1601, in pandas._libs.hashtable.PyObjectHashTable.get_item 15 File "pandas/_libs/hashtable_class_helper.pxi", line 1608, in pandas._libs.hashtable.PyObjectHashTable.get_item 16KeyError: True

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

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

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

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

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

guest

回答1

0

ベストアンサー

下記の行を変更すれば欲しい結果を返してくれると思います。

print (df['temperature'].max() == max) ↓ print (df[df['temperature'] == max])

投稿2019/10/31 05:25

編集2019/10/31 06:16
J1N

総合スコア56

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

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

raspypy

2019/10/31 05:45 編集

さっそくの回答ありがとうございます。 教えていただいた方法で実行してみましたが、↓のエラーがでてしまいます。 Traceback (most recent call last): File "./test.py", line 9, in <module> print (df[df['temperature'].max() == max]) File "/home/pi/.local/lib/python2.7/site-packages/pandas/core/frame.py", line 2927, in __getitem__ indexer = self.columns.get_loc(key) File "/home/pi/.local/lib/python2.7/site-packages/pandas/core/indexes/base.py", line 2659, in get_loc return self._engine.get_loc(self._maybe_cast_indexer(key)) File "pandas/_libs/index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc File "pandas/_libs/hashtable_class_helper.pxi", line 1601, in pandas._libs.hashtable.PyObjectHashTable.get_item File "pandas/_libs/hashtable_class_helper.pxi", line 1608, in pandas._libs.hashtable.PyObjectHashTable.get_item
J1N

2019/10/31 05:59

エラー文に続きはありませんか? SyntaxErrowやAttributeError みたいな箇所がありましたら、その前後のエラー文を見せていただけると、原因がわかるかもしれません。
raspypy

2019/10/31 06:11

今試しているプログラム及び実行結果を質問に更新させていただきました。 内容確認していただけると助かります。
J1N

2019/10/31 06:17

ミスタイプがあり、失礼しました。 df['temperature'].max()の部分の.max()を削除すればうまくいくかと思います。
raspypy

2019/10/31 06:27

素早い対応ありがとうございます。 とても助かりました。 後ほど、別質問を上げさせていただきますが、抽出してきた日付の部分を結合させたいと考えていますが、うまくいきません。そちらの質問も見ていただけると助かります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問