質問編集履歴
1
具体的なコードの記入。漠然な文章を具体的なものに変更。
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,17 +2,35 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
質問の低評価をいただいて改めて質問した内容を見ると漠然としていましたので修正させていただきます。良い方法があればご共有いただけますと幸いです。
|
6
|
-
|
7
|
-
1.文字列で詳細情報が入った列にフィルターをかける。
|
8
|
-
|
9
|
-
2.思いついたキーワードを使いソート。
|
10
|
-
|
11
|
-
3.そのキーワードが使えると判断した場合のみ新しい列(カラム名はキーワードとする)に記入。
|
12
|
-
|
13
|
-
4.複数の思いつきを試していき、使える場合のみ上で作ったキーワード列に記入する。
|
14
6
|
|
15
7
|
|
8
|
+
|
9
|
+
実現したいこと:
|
10
|
+
|
11
|
+
DataFrameにおいて、商品名の列があり、そのグループ分けをしたいと考えています。
|
12
|
+
|
13
|
+
そしてグループ名を新しい列に追加し、後どれくらいの商品名がグループ化されていないかを確認しながら作業がしたいです。
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
グループ名としてふさわしいと考えている名称はそれなりの数量の商品をカバーできるものだと考えます。
|
18
|
+
|
19
|
+
グループ名作成の一例としては商品名の列に「靴」といキーワードが入った商品名が複数種類ある場合、
|
20
|
+
|
21
|
+
それが長靴であれ、革靴であれ靴であることには変わらないため以下のように対象を絞りました。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
```python
|
26
|
+
|
27
|
+
df1 = df[df['商品名']].str.contains('靴')]
|
28
|
+
|
29
|
+
df1['グループ名'] = '靴'
|
30
|
+
|
31
|
+
```
|
32
|
+
|
33
|
+
最終的にconcat()を使用し全てのグループ化されたdfを繋げます。
|
16
34
|
|
17
35
|
|
18
36
|
|
@@ -20,9 +38,9 @@
|
|
20
38
|
|
21
39
|
|
22
40
|
|
23
|
-
|
41
|
+
・作業進捗が確認できない。
|
24
42
|
|
25
|
-
|
43
|
+
・キーワードの数だけdfを作成しないといけない。
|
26
44
|
|
27
45
|
|
28
46
|
|
@@ -30,9 +48,25 @@
|
|
30
48
|
|
31
49
|
|
32
50
|
|
33
|
-
上
|
51
|
+
上記の方法を取ると以下のように複数のdfを作ることになりました。
|
34
52
|
|
53
|
+
```python
|
35
54
|
|
55
|
+
df1 = df[df['商品名']].str.contains('靴')]
|
56
|
+
|
57
|
+
df2 = df[df['商品名']].str.contains('服')]
|
58
|
+
|
59
|
+
df3 = df[df['商品名']].str.contains('帽子')]
|
60
|
+
|
61
|
+
df4 = df[df['商品名']].str.contains('ズボン')]
|
62
|
+
|
63
|
+
##df5,6,7...と続く
|
64
|
+
|
65
|
+
```
|
66
|
+
|
67
|
+
これだと発生している問題として書いた二点がネックとなり非効率だと感じています。
|
68
|
+
|
69
|
+
他に良い方法があれば教えていただけると助かります。
|
36
70
|
|
37
71
|
### 補足情報(FW/ツールのバージョンなど)
|
38
72
|
|