本サイトに載ってある
"一定の時間間隔ごとに部屋に入室している人数を出力したい。"について質問があります。
リンクはこちらになります。
https://teratail.com/questions/6u1izsf0esgitn
プログラムを実行してみると以下のエラーが出ました。
解答者のソースコードはこちらになります。
python
1import pandas as pd 2import datetime as dt 3 4# csv 読み込み 5inout = pd.read_csv("in-out.csv") 6ct = pd.read_csv("count-time.csv") 7 8# 各カラムをdatetime型へ変換 9inout['in'] = pd.to_datetime(inout['in']) 10inout['out'] = pd.to_datetime(inout['out']) 11ct['start'] = pd.to_datetime(ct['start']) 12ct['end'] = pd.to_datetime(ct['end']) 13 14# 2021/7/1 9:00 -- 9:10 の間に室内にいた人数をカウント 15# (入室時間 <= 計測終了日時) And (計測開始日時 < 退室時間) 16# print(len(inout[(inout["in"] <= dt.datetime(2021, 7, 1, 9, 10)) 17# & (dt.datetime(2021, 7, 1, 9, 0) <= inout["out"])])) 18tmp = [] 19for index, row in ct.iterrows(): # 1行ずつ取り出す 20 # 行データからstart stopの列の値を取り出し比較。条件に合うものを数えてリストに追加 21 tmp.append(len(inout[(inout["in"] <= row['end']) 22 & (row['start'] < inout["out"])])) 23ct['count'] = tmp # リストを列として追加 24ct.to_csv("output.csv", index=False) # csvを出力(indexはないので無効に)
以下がエラー内容を抜粋しましたものになります。
python
1 KeyError: 'in' 2 3The above exception was the direct cause of the following exception: 4 5Traceback (most recent call last): 6 File "c:\Users\User\Desktop\VSC 米\その他 プログラム\入退室 時間人数\enter.py", line 9, in <module> 7 inout['in'] = pd.to_datetime(inout['in']) 8 File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\frame.py", line 3505, in __getitem__ 9 indexer = self.columns.get_loc(key) 10 File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\indexes\base.py", line 3623, in get_loc 11 raise KeyError(key) from err 12KeyError: 'in' 13
・下記のファイルを開いて
File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\frame.py", line 3505, in getitem
下記のプログラムを修正すれば良いのでしょうか?
indexer = self.columns.get_loc(key)
・また、下記のファイルも 開いて
File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\indexes\base.py", line 3623, in get_loc
こちらのコードも修正すれば良いのでしょうか?
raise KeyError(key) from err
pythonのバージョンは3.9.11 64-bit
Windowsは10
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/29 11:57
2022/04/29 13:32