質問編集履歴

3

コードにコメントを追加

2022/04/25 16:10

投稿

Racker
Racker

スコア1

test CHANGED
File without changes
test CHANGED
@@ -56,6 +56,7 @@
56
56
  ct['end'] = pd.to_datetime(ct['end'])
57
57
 
58
58
  # 2021/7/1 9:00 -- 9:10 の間に室内にいた人数をカウント
59
+ # (入室時間 <= 計測終了日時) And (計測開始日時 < 退室時間)
59
60
  len(inout[(inout["in"] <= dt.datetime(2021,7,1,9,10)) & (dt.datetime(2021,7,1,9,0) <= inout["out"])])
60
61
  ```
61
62
 

2

コードを追記

2022/04/25 16:08

投稿

Racker
Racker

スコア1

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ある部屋の入退室時間を記録した以下の様な CSV があります。
4
4
 
5
- **・入退室記録.csv**
5
+ **・入退室記録(in-out.csv**
6
6
  |社員ID|入室時間|退室時間|
7
7
  |:--|:--:|--:|
8
8
  |A10|2021/7/1 7:01|2021/7/1 20:40|
@@ -13,7 +13,7 @@
13
13
 
14
14
  また、出力したい時間範囲をあらわす CSV があります。
15
15
 
16
- **・計測時間範囲.csv**
16
+ **・計測時間範囲.csv(count-time.csv)**
17
17
  |計測開始日時|計測終了日時|
18
18
  |:--:|:--:|
19
19
  |2021/7/1 7:00|2021/7/1 7:10|
@@ -37,6 +37,26 @@
37
37
 
38
38
  **入室時間 <= 計測終了日時 And 計測開始日時 < 退室時間**
39
39
 
40
- で出力できるところまでは理解出来たですが、これを時間帯ごとに「出力csvイメジ」ような形式で出力するやり方がわからず、教示いただきたいです
40
+ で出力できるところまでは理解し、特定の時間帯(この場合は 9:00 -- 9:10 の間)を指定してカウントするコドは以下様に書いていま。(こちらも間違いがあれば、あいはスマートな書き方があれば指摘いただきたいです
41
+
42
+ 手動で指定している 9:00 -- 9:10 をcount-time.csv から読み込んで「出力csvイメージ.csv」にような形でカウント数を出したいのですが、ここからどのようにしたらよいか詰まってしまいました。
43
+
44
+ ```python
45
+ import pandas as pd
46
+ import datetime as dt
47
+
48
+ # csv 読み込み
49
+ inout = pd.read_csv("in-out.csv")
50
+ ct = pd.read_csv("count-time.csv")
51
+
52
+ # 各カラムをdatetime型へ変換
53
+ inout['in'] = pd.to_datetime(inout['in'])
54
+ inout['out'] = pd.to_datetime(inout['out'])
55
+ ct['start'] = pd.to_datetime(ct['start'])
56
+ ct['end'] = pd.to_datetime(ct['end'])
57
+
58
+ # 2021/7/1 9:00 -- 9:10 の間に室内にいた人数をカウント
59
+ len(inout[(inout["in"] <= dt.datetime(2021,7,1,9,10)) & (dt.datetime(2021,7,1,9,0) <= inout["out"])])
60
+ ```
41
61
 
42
62
  何卒よろしくお願いいたします。

1

誤字の修正

2022/04/25 11:54

投稿

Racker
Racker

スコア1

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
  また、出力したい時間範囲をあらわす CSV があります。
15
15
 
16
16
  **・計測時間範囲.csv**
17
- |計測開日時|計測終了日時|
17
+ |計測開日時|計測終了日時|
18
18
  |:--:|:--:|
19
19
  |2021/7/1 7:00|2021/7/1 7:10|
20
20
  |2021/7/1 7:10|2021/7/1 7:20|
@@ -24,9 +24,9 @@
24
24
  ...(以下、10分間隔で 24 時まで続く)
25
25
 
26
26
  ## やりたいこと
27
- 入退室時間を記録した csv に対し、時間範囲の CSV の範囲ごとに「どの時間帯に何人が入室していたか」というリストを出力したいです。
27
+ 入退室時間を記録した csv に対し、時間範囲の CSV の範囲ごとに「どの時間帯に何人が入室していたか」というリストを Python で出力したいです。
28
28
  **↓ 出力csvイメージ**
29
- |計測開日時|計測終了日時|同時入室人数|
29
+ |計測開日時|計測終了日時|同時入室人数|
30
30
  |:--|:--:|--:|
31
31
  |2021/7/1 7:00|2021/7/1 7:10|2|
32
32
  |2021/7/1 7:10|2021/7/1 7:20|3|
@@ -35,7 +35,7 @@
35
35
 
36
36
  特定の時間範囲のみであれば
37
37
 
38
- **入室時間 <= 計測終了日時 And 計測開日時 < 退室時間**
38
+ **入室時間 <= 計測終了日時 And 計測開日時 < 退室時間**
39
39
 
40
40
  で出力できるところまでは理解出来たのですが、これを時間帯ごとに「出力csvイメージ」のような形式で出力するやり方がわからず、ご教示いただきたいです。
41
41