##やろうとしていること
扱っている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
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/31 05:45 編集
2019/10/31 05:59
2019/10/31 06:11
2019/10/31 06:17
2019/10/31 06:27