回答編集履歴

1

サンプルコードに"都市の数"を生成する処理を追加

2018/09/04 00:03

投稿

magichan
magichan

スコア15898

test CHANGED
@@ -1,6 +1,8 @@
1
1
  ``Series.str.extract()`` 使って正規表現つかうのはどうでしょう
2
2
 
3
3
 
4
+
5
+ > コメントを受けて、"都市の数:のカラムを生成する処理を追加
4
6
 
5
7
 
6
8
 
@@ -30,16 +32,38 @@
30
32
 
31
33
 
32
34
 
35
+ #都市数のカラムを追加
36
+
33
- df['都市'] = df['都市'].str.extract('[^ ]* (.+)')
37
+ df['都市の数'] = df['都市'].str.split().apply(len)
34
38
 
35
39
  print(df)
36
40
 
37
- # 国 都市
41
+ # 国 都市 都市の数
38
42
 
39
- #0 日本 仙台 東京
43
+ #0 日本 仙台 東京 3
40
44
 
41
- #1 韓国 ソウル
45
+ #1 韓国 ソウル 2
42
46
 
43
- #2 オーストラリア シドニー
47
+ #2 オーストラリア シドニー 2
48
+
49
+
50
+
51
+ #先頭の都市を削除
52
+
53
+ df['都市'] = df['都市'].str.extract('[^ ]* (.+)', expand=False)
54
+
55
+ print(df)
56
+
57
+ # 国 都市 都市の数
58
+
59
+ #0 日本 仙台 東京 3
60
+
61
+ #1 韓国 ソウル 2
62
+
63
+ #2 オーストラリア シドニー 2
64
+
65
+
66
+
67
+
44
68
 
45
69
  ```