#author("2020-02-21T05:05:21+00:00","default:f-lab","f-lab")
#author("2020-02-21T05:15:22+00:00","default:f-lab","f-lab")
[[seminar-personal/chin2017]]

|~目次|
|#contents|
&br;
*おさらい [#p71808b9]
-[[前回ゼミ>http://f-lab.mydns.jp/index.php?seminar-N-20200214]]
 クラスタリングの調査
 要素数が少ないクラスタに属している項目名は、おかしなCSVファイルから抽出されたもの である可能性が高い。
 項目名が縦に並んでいて、横向きに読むような形の表
 人間が読むように作られた表をそのままCSVにしたもの
 2行にわたって項目名がある
 変な項目名のCSVファイルへのパスを抽出する。
 それらのCSVファイルを一か所に集めて確認する。
*copy ファイルをコピー [#u6faa971]
-[[コピー方法>https://pg-chain.com/python-file-copy]]
-
 import shutil
 shutil.copy(コピー元ファイルのパス,コピー先ファイルのパス)

-上記を使用し、ソースコードを&ref(extract_filelist.txt);

 import pandas as pd
 import shutil
 import os
 FNAME="items_name_all_vec_150_191212.csv"
 print(" CSV of item data reading...")
 df=pd.read_csv(FNAME,sep=",",encoding="utf-8-sig",header =None) #項目データ 項目名ペアを読み込み
 print(df)
 len_df=len(df)
 dict ={}
 #回数を統計
 dict ={}
 for m in range(df.shape[0]):#行数クラスタリングの分布
     name = df.iat[m,0]#項目名
     label=df.iat[m,51]#クラスタのラベル
     if label in dict.keys():
         dict[label].append(name)
     else:
         dict[label]=[name]
 print(dict)
 print(len(dict))
 extract_dict ={}
 for i in range(1,151):
     if len(dict[i]) <= 5:
         #print(i,dict[i])
         for item in dict[i]:
             print(item)
             extract_dict[item]=i  
 fname="pre2_csv_items_all_20200220.csv"
 df=pd.read_csv(fname,sep=",",header=0) #項目データ 項目名ペアを読み込み
 list_tmp=[]
 for i in range(len(df)):
     if df.iat[i,1] in extract_dict.keys():#全データ(dataset)の分布
         f_name = df.iat[i,2]
         if (f_name not in list_tmp and os.path.exists(f_name)):
             print(f_name)
             list_tmp.append(f_name)
             # 第二引数がディレクトリの場合、同じファイル名でコピーされます
             shutil.copy(df.iat[i,2], './tmp')
-抽出したリスト
&ref(tmp抽出したリスト.txt);
-抽出したcsvファイルのパス:\\10.200.11.9\home\N\chin\20200221\tmp
-上記のような方法で中身を確認し、除外する作業を行う予定です
--クラスタの数では5個以下のみを処理
--10個、15個等を

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS