回答編集履歴

7

テキスト修正

2020/02/21 14:54

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- ### 追記
21
+ ### 追記1
22
22
 
23
23
 
24
24
 
@@ -48,7 +48,7 @@
48
48
 
49
49
 
50
50
 
51
- 所与のデータフレームの`時刻`列には、日時として満たすべき形式の文字列が入っていることを前提とすれば、記の `before` は以下のような簡単なもので事足ります。
51
+ 所与のデータフレームの`時刻`列には、日時として満たすべき形式の文字列が入っていることを前提とすれば、1コードの `before` は以下のような簡単なもので事足ります。
52
52
 
53
53
 
54
54
 
@@ -56,6 +56,12 @@
56
56
 
57
57
  before = r'^(.+)(.)(.+)$'
58
58
 
59
+ ```
60
+
61
+ この場合、`after` は以下のように `\1` と `\2` をスペースなしでつなげます。
62
+
63
+ ```python3
64
+
59
65
  after = r'\1\2'
60
66
 
61
67
  ```

6

テキスト修正

2020/02/21 14:54

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
 
25
- または、以下でもよいかと思います。
25
+ 正規表現を使う別の方法として、以下でもよいかと思います。
26
26
 
27
27
  ```python3
28
28
 
@@ -48,7 +48,7 @@
48
48
 
49
49
 
50
50
 
51
- 所与のデータフレームの`時刻`列には、日時として満たすべき形式の文字列が入っていることを前提とすれば、上記の `before` は以下のような簡単なものでもよかったです。
51
+ 所与のデータフレームの`時刻`列には、日時として満たすべき形式の文字列が入っていることを前提とすれば、上記の `before` は以下のような簡単なもので事足ります。
52
52
 
53
53
 
54
54
 

5

テキスト修正

2020/02/21 14:50

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -41,3 +41,23 @@
41
41
   
42
42
 
43
43
  - pandas.DataFrame.[replace](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.replace.html)
44
+
45
+
46
+
47
+ ### 追記2
48
+
49
+
50
+
51
+ 所与のデータフレームの`時刻`列には、日時として満たすべき形式の文字列が入っていることを前提とすれば、上記の `before` は以下のような簡単なものでもよかったです。
52
+
53
+
54
+
55
+ ```python3
56
+
57
+ before = r'^(.+)(.)(.+)$'
58
+
59
+ after = r'\1\2'
60
+
61
+ ```
62
+
63
+ - 動作確認用Repl.it: [https://repl.it/@jun68ykt/Q2427263](https://repl.it/@jun68ykt/Q2427263)

4

テキスト修正

2020/02/21 14:27

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -10,8 +10,34 @@
10
10
 
11
11
  ```
12
12
 
13
- - 動作確認用Repl.it: [https://repl.it/@jun68ykt/Q242726-2](https://repl.it/@jun68ykt/Q242726-2)
13
+ - 動作確認用Repl.it: [https://repl.it/@jun68ykt/Q2427261](https://repl.it/@jun68ykt/Q2427261)
14
+
15
+  
16
+
17
+ - `re` は[正規表現モジュール](https://docs.python.org/ja/3/library/re.html) です。
14
18
 
15
19
 
16
20
 
21
+ ### 追記
22
+
23
+
24
+
25
+ または、以下でもよいかと思います。
26
+
27
+ ```python3
28
+
29
+ before = r'^(\d{4}/\d{2}/\d{2})([日月火水木金土])\s+(\d{2}:\d{2})$'
30
+
31
+ after = r'\1 \2'
32
+
33
+
34
+
35
+ df.replace({'時刻': before}, {'時刻': after}, regex=True, inplace=True)
36
+
37
+ ```
38
+
39
+ - 動作確認用Repl.it: [https://repl.it/@jun68ykt/Q2427262](https://repl.it/@jun68ykt/Q2427262)
40
+
41
+  
42
+
17
- `re` は[正規表現モジュール](https://docs.python.org/ja/3/library/re.html) です。
43
+ - pandas.DataFrame.[replace](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.replace.html)

3

テキスト修正

2020/02/21 09:39

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -1,8 +1,12 @@
1
+ こんにちは
2
+
3
+
4
+
1
- こんにちは。以下でどうでしょう?
5
+ 以下でどうでしょう?
2
6
 
3
7
  ```python3
4
8
 
5
- df['時刻'].map(lambda s: re.sub(r'(.)', '', s))
9
+ df.loc[:, '時刻'] = df['時刻'].map(lambda s: re.sub(r'(.)', '', s))
6
10
 
7
11
  ```
8
12
 

2

テキスト修正

2020/02/21 08:51

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ```
8
8
 
9
- - 動作確認用Repl.it: [https://repl.it/@jun68ykt/Q242726](https://repl.it/@jun68ykt/Q242726)
9
+ - 動作確認用Repl.it: [https://repl.it/@jun68ykt/Q242726-2](https://repl.it/@jun68ykt/Q242726-2)
10
10
 
11
11
 
12
12
 

1

テキスト修正

2020/02/21 08:47

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -2,8 +2,12 @@
2
2
 
3
3
  ```python3
4
4
 
5
- ser = df['時刻'].map(lambda s: re.sub(r'(.)', '', s))
5
+ df['時刻'].map(lambda s: re.sub(r'(.)', '', s))
6
6
 
7
7
  ```
8
8
 
9
9
  - 動作確認用Repl.it: [https://repl.it/@jun68ykt/Q242726](https://repl.it/@jun68ykt/Q242726)
10
+
11
+
12
+
13
+ `re` は[正規表現モジュール](https://docs.python.org/ja/3/library/re.html) です。