teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

具体的なコードの記入。漠然な文章を具体的なものに変更。

2020/07/01 12:41

投稿

Chileno
Chileno

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,21 +1,38 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- 以下通り今までexcelで行っていた作業pandasいたいと考えています
3
+ 質問低評価をいただいて改めて質問した内容見ると漠然としていましたの修正させていただきます。良方法があればご共有ただけますと幸いです。
4
- 1.文字列で詳細情報が入った列にフィルターをかける。
5
- 2.思いついたキーワードを使いソート。
6
- 3.そのキーワードが使えると判断した場合のみ新しい列(カラム名はキーワードとする)に記入。
7
- 4.複数の思いつきを試していき、使える場合のみ上で作ったキーワード列に記入する。
8
4
 
5
+ 実現したいこと:
6
+ DataFrameにおいて、商品名の列があり、そのグループ分けをしたいと考えています。
7
+ そしてグループ名を新しい列に追加し、後どれくらいの商品名がグループ化されていないかを確認しながら作業がしたいです。
9
8
 
9
+ グループ名としてふさわしいと考えている名称はそれなりの数量の商品をカバーできるものだと考えます。
10
+ グループ名作成の一例としては商品名の列に「靴」といキーワードが入った商品名が複数種類ある場合、
11
+ それが長靴であれ、革靴であれ靴であることには変わらないため以下のように対象を絞りました。
12
+
13
+ ```python
14
+ df1 = df[df['商品名']].str.contains('靴')]
15
+ df1['グループ名'] = '靴'
16
+ ```
17
+ 最終的にconcat()を使用し全てのグループ化されたdfを繋げます。
18
+
10
19
  ### 発生している問題
11
20
 
21
+ ・作業進捗が確認できない。
12
- いちいちフィルターしたキーワードを変に代入て貯めてき最後にコンカチする進捗状況(キーワード列の空白の数)が分かりづら上重複もしかねない。
22
+ キーワードだけdfを作成いといない。
13
23
 
14
-
15
24
  ### 試したこと
16
25
 
17
- 通り大量を作ってキーワードをためこみ、コンカチする。
26
+ 方法を取ると以下ように複数のdfを作ることになりました
18
-
27
+ ```python
28
+ df1 = df[df['商品名']].str.contains('靴')]
29
+ df2 = df[df['商品名']].str.contains('服')]
30
+ df3 = df[df['商品名']].str.contains('帽子')]
31
+ df4 = df[df['商品名']].str.contains('ズボン')]
32
+ ##df5,6,7...と続く
33
+ ```
34
+ これだと発生している問題として書いた二点がネックとなり非効率だと感じています。
35
+ 他に良い方法があれば教えていただけると助かります。
19
36
  ### 補足情報(FW/ツールのバージョンなど)
20
37
 
21
38
  Windows10