質問編集履歴

5

タイトルを補足

2021/01/15 07:41

投稿

tkhk
tkhk

スコア9

test CHANGED
@@ -1 +1 @@
1
- Pythonの日付・時刻データ(datetime型)の時刻部分とある固定時刻の差を効率的に計算したい
1
+ Pythonの日付・時刻データ(datetime型)の時刻部分(日付は無視)とある固定時刻の差を効率的に計算したい
test CHANGED
File without changes

4

新しい結果の説明の補足

2021/01/15 07:41

投稿

tkhk
tkhk

スコア9

test CHANGED
File without changes
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  (追記)
50
50
 
51
- 昨日は、時間がかかって途中でやめてしまったのですが、プログラムを一部修正して改めて実施したところ、一応1分弱程度で計算結果が出ました。行数390万件程度のデータです。
51
+ 昨日は、時間がかかって途中でやめてしまったのですが、プログラムを一部修正して改めて実施したところ、一応計算結果が出ました。
52
52
 
53
53
 
54
54
 
@@ -82,4 +82,14 @@
82
82
 
83
83
  ```
84
84
 
85
+
86
+
87
+ 行数390万件程度のデータで上記関数で計算させた際の計算時間は、以下の通りでした:
88
+
89
+ CPU times: user 1min 49s, sys: 1.89 s, total: 1min 51s
90
+
91
+ Wall time: 1min 49s
92
+
93
+
94
+
85
95
  ### 補足情報(FW/ツールのバージョンなど)

3

説明の修正

2021/01/15 07:03

投稿

tkhk
tkhk

スコア9

test CHANGED
File without changes
test CHANGED
@@ -62,7 +62,7 @@
62
62
 
63
63
  date_column: dataの中のdt.datetime型の値(年、月、日、時、分、秒)を持つカラム
64
64
 
65
- endtime: date_columnの時刻の値と比較したい固定した時刻の値(dt.time型)
65
+ endtime: date_columnの時刻の値と比較したい固定した時刻(dt.time型)を作成するためのパラメータのタプル(時、分、秒)
66
66
 
67
67
  return: dataの中に、endtimeとdate_columnの差分を秒換算した値を持つ新しいカラム'ddelta'を加えて返す
68
68
 

2

やりたいことの説明、新しい結果、に関する補足

2021/01/15 04:31

投稿

tkhk
tkhk

スコア9

test CHANGED
File without changes
test CHANGED
@@ -46,6 +46,40 @@
46
46
 
47
47
 
48
48
 
49
+ (追記)
50
+
51
+ 昨日は、時間がかかって途中でやめてしまったのですが、プログラムを一部修正して改めて実施したところ、一応1分弱程度で計算結果が出ました。行数390万件程度のデータです。
49
52
 
50
53
 
54
+
55
+ ```Python
56
+
57
+ def remtime(data, date_column, endtime):
58
+
59
+ """
60
+
61
+ data: pd.DataFrameのデータ
62
+
63
+ date_column: dataの中のdt.datetime型の値(年、月、日、時、分、秒)を持つカラム
64
+
65
+ endtime: date_columnの時刻の値と比較したい固定した時刻の値(dt.time型)
66
+
67
+ return: dataの中に、endtimeとdate_columnの差分を秒換算した値を持つ新しいカラム'ddelta'を加えて返す
68
+
69
+ """
70
+
71
+ date = data[date_column].dt.date
72
+
73
+ data['ddelta'] = 0
74
+
75
+ for i in range(data.shape[0]):
76
+
77
+ tmp = dt.datetime.combine(date.iloc[i], dt.time(*endtime)) - data[date_column].iloc[i]
78
+
79
+ data['ddelta'].iloc[i] = tmp.total_seconds()
80
+
81
+ return data
82
+
83
+ ```
84
+
51
85
  ### 補足情報(FW/ツールのバージョンなど)

1

補足

2021/01/15 04:29

投稿

tkhk
tkhk

スコア9

test CHANGED
@@ -1 +1 @@
1
- Pythonの日付・時刻データ(datetime型)の時刻部分だけの差計算
1
+ Pythonの日付・時刻データ(datetime型)の時刻部分とある固定時刻の差を効率的に計算したい
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  具体的には、dt.datetime型の値(年、月、日、時、分、秒)を持つpd.Seriesがあるとします。
12
12
 
13
- それらの値の時刻部分(時、分、秒)に対して、それらの時刻より遅いある時刻(例えば、22時0分0秒)からの差分を計算し、秒単位で求めたいです。
13
+ それらの日付・時刻の値の時刻部分(時、分、秒)に対して、それらの時刻より遅いある決まった時刻(例えば、22時0分0秒)からの差分を計算し、秒単位で求めたいです。
14
14
 
15
15
 
16
16