seminar-personal/chin2017


おさらい

  • 前回ゼミ
    クラスタリングの調査
    要素数が少ないクラスタに属している項目名は、おかしなCSVファイルから抽出されたもの である可能性が高い。
    項目名が縦に並んでいて、横向きに読むような形の表
    人間が読むように作られた表をそのままCSVにしたもの
    2行にわたって項目名がある
    変な項目名のCSVファイルへのパスを抽出する。
    それらのCSVファイルを一か所に集めて確認する。

copy ファイルをコピー

  • コピー方法
    import shutil
    shutil.copy(コピー元ファイルのパス,コピー先ファイルのパス)
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')
  • 抽出したリスト filetmp抽出したリスト.txt
  • 抽出したcsvファイルのパス:\\10.200.11.9\home\N\chin\20200221\tmp
  • 上記のような方法で中身を確認し、除外する作業を行う予定です
    • クラスタの数では5個以下のみを処理
    • 10個、15個等を

添付ファイル: filetmp抽出したリスト.txt 202件 [詳細] fileextract_filelist.txt 205件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-02-21 (金) 14:15:22