回答編集履歴

4

エラーになる原因について推測 を追加

2020/10/14 18:42

投稿

takutakuya
takutakuya

スコア979

test CHANGED
@@ -57,3 +57,29 @@
57
57
  **確認結果**
58
58
 
59
59
  ![日時to曜日の確認結果](906b5b42e283e3d6a1d589c2720bda55.png)
60
+
61
+
62
+
63
+ ### エラーになる原因について推測
64
+
65
+ `KeyError:1`になる原因について推測してみました。
66
+
67
+ CSVファイルから日時のデータを読み込んだ後で、日付か何かの条件でデータを抽出していないでしょうか?
68
+
69
+ 例えば、2020年1月1日以降の日付を抽出するなどです。
70
+
71
+ その場合、データに付与されているインデックス番号が連番ではなくなっています。
72
+
73
+ `KeyError:1`と出ているので、インデックス番号が`1`だったデータが条件抽出などで抜けたのではないかと推測します。
74
+
75
+
76
+
77
+ この推測が合っている場合、日付のデータを`for`文に入れる前に、インデックス番号を振り直す必要があります。
78
+
79
+ 修正後のコードでは`for`文に入れているのは`datetime`なので、`for`文の直前に下記1行を追加してください。
80
+
81
+ ```Python
82
+
83
+ datetime = datetime.reset_index(drop=True)
84
+
85
+ ```

3

確認した際のCSVデータと確認結果のスクリーンショットを追加

2020/10/14 18:42

投稿

takutakuya
takutakuya

スコア979

test CHANGED
@@ -31,3 +31,29 @@
31
31
  ```
32
32
 
33
33
  CSVファイルから日付を読み込むと文字列として読み込まれるので、detetime型に変換しています。
34
+
35
+
36
+
37
+ 上記コードですが、下記のようなCSVデータで曜日に変換できることは確認しています。
38
+
39
+ ```
40
+
41
+ id,datetime
42
+
43
+ 1,'2020-10-14 00:00:00'
44
+
45
+ 2,'2019-10-14 00:00:00'
46
+
47
+ 3,'2018-10-14 00:00:00'
48
+
49
+ 4,'2020-10-13 00:00:00'
50
+
51
+ 5,'2020-10-12 00:00:00'
52
+
53
+ 6,'2020-10-11 23:00:00'
54
+
55
+ ```
56
+
57
+ **確認結果**
58
+
59
+ ![日時to曜日の確認結果](906b5b42e283e3d6a1d589c2720bda55.png)

2

最後の出力をprint文に変更

2020/10/14 15:34

投稿

takutakuya
takutakuya

スコア979

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- list_dayofweek
29
+ print(list_dayofweek)
30
30
 
31
31
  ```
32
32
 

1

変更点を追記

2020/10/14 14:43

投稿

takutakuya
takutakuya

スコア979

test CHANGED
@@ -29,3 +29,5 @@
29
29
  list_dayofweek
30
30
 
31
31
  ```
32
+
33
+ CSVファイルから日付を読み込むと文字列として読み込まれるので、detetime型に変換しています。