回答編集履歴

3

Update

2021/12/02 09:38

投稿

melian
melian

スコア20655

test CHANGED
@@ -1,27 +1,15 @@
1
- `2'40.24` というのは 2分40秒240ミリセカンドの事かと思います。`errors='coerce'` を指定する事で、スに失敗した場合は `NaT` に変換されます。
1
+ `2'40.24` というのは 2分40秒240ミリセカンドの事かと思います。データには `NaN` が含まれていとの事ですので以下のコドでは `NaN` を `00:00:00` に変換する様にしています。
2
+
3
+
2
4
 
3
5
  ```python
4
6
 
5
- dfx = df.applymap(lambda x:
7
+ df["column_c"] = df["column_c"].apply(lambda x:
6
8
 
7
- pd.to_datetime(str(x),
9
+ pd.to_datetime("0.0" if str(x) == "nan" else str(x),
8
10
 
9
- format=("%S.%f" if isinstance(x, float) else "%M'%S.%f"),
11
+ format=("%M'%S.%f" if "'" in str(x) else "%S.%f"),
10
12
 
11
13
  errors='coerce').time())
12
14
 
13
-
14
-
15
- print(dfx)
16
-
17
-
18
-
19
- #
20
-
21
- a b c
22
-
23
- 0 00:02:40.240000 00:00:46.320000 00:01:56.660000
24
-
25
- 1 00:02:00.760000 00:00:20.640000 00:00:49.330000
26
-
27
15
  ```

2

Update

2021/12/02 09:38

投稿

melian
melian

スコア20655

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ```python
4
4
 
5
- df.applymap(lambda x:
5
+ dfx = df.applymap(lambda x:
6
6
 
7
7
  pd.to_datetime(str(x),
8
8
 
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- print(df)
15
+ print(dfx)
16
16
 
17
17
 
18
18
 

1

Update

2021/12/02 07:51

投稿

melian
melian

スコア20655

test CHANGED
@@ -1,12 +1,14 @@
1
- `2'40.24` というのは 2分40秒240ミリセカンドの事かと思います。以下では`errors='coerce'` を指定する事で、パースに失敗した場合は `NaT` に変換されます。
1
+ `2'40.24` というのは 2分40秒240ミリセカンドの事かと思います。`errors='coerce'` を指定する事で、パースに失敗した場合は `NaT` に変換されます。
2
-
3
-
4
2
 
5
3
  ```python
6
4
 
7
- df['a'] = pd.to_datetime(df['a'], format="%M'%S.%f", errors='coerce').dt.time
5
+ df.applymap(lambda x:
8
6
 
7
+ pd.to_datetime(str(x),
8
+
9
- df['c'] = pd.to_datetime(df['c'], format="%M'%S.%f", errors='coerce').dt.time
9
+ format=("%S.%f" if isinstance(x, float) else "%M'%S.%f"),
10
+
11
+ errors='coerce').time())
10
12
 
11
13
 
12
14
 
@@ -16,10 +18,10 @@
16
18
 
17
19
  #
18
20
 
19
- a b c
21
+ a b c
20
22
 
21
- 0 00:02:40.240000 46.32 00:01:56.660000
23
+ 0 00:02:40.240000 00:00:46.320000 00:01:56.660000
22
24
 
23
- 1 00:02:00.760000 20.64 NaT
25
+ 1 00:02:00.760000 00:00:20.640000 00:00:49.330000
24
26
 
25
27
  ```