回答編集履歴

1

追記

2019/07/23 08:15

投稿

hayataka2049
hayataka2049

スコア30933

test CHANGED
@@ -5,3 +5,59 @@
5
5
  +group = (group['date'] >= dt.datetime(2017/5/29)) & (group['date'] <= dt.datetime(2019/6/2))
6
6
 
7
7
  ```
8
+
9
+
10
+
11
+ ---
12
+
13
+
14
+
15
+ coco_bauerさんの回答へのコメントからすると、`group['date']`は文字列型(`pandas`上の表示は`object`型)っぽいですね。`pd.to_datetime`をしたのであれば、使い方が間違っています。
16
+
17
+
18
+
19
+ ```python
20
+
21
+ >>> import pandas as pd
22
+
23
+ >>> df = pd.DataFrame({"date":["2019/5/15", "2019/5/16"]}) # dfつくる
24
+
25
+ >>> pd.to_datetime(df["date"]) # これだめな例
26
+
27
+ 0 2019-05-15
28
+
29
+ 1 2019-05-16
30
+
31
+ Name: date, dtype: datetime64[ns]
32
+
33
+ >>> import datetime as dt
34
+
35
+ >>> df["date"] <= dt.datetime(2019, 5, 15) # 失敗する
36
+
37
+ Traceback (most recent call last):
38
+
39
+ # 略
40
+
41
+ TypeError: unorderable types: str() <= datetime.datetime()
42
+
43
+ >>> df["date"] # 確認する。文字列のまま
44
+
45
+ 0 2019/5/15
46
+
47
+ 1 2019/5/16
48
+
49
+ Name: date, dtype: object
50
+
51
+ >>> df["date"] = pd.to_datetime(df["date"]) # in-placeではないので再代入しないとだめ
52
+
53
+ >>> df["date"] <= dt.datetime(2019, 5, 15) # 今度は大丈夫
54
+
55
+ 0 True
56
+
57
+ 1 False
58
+
59
+ Name: date, dtype: bool
60
+
61
+
62
+
63
+ ```