データセットの理解と探索


実際のコーディングから始める前に.環境を整えましょう.
前のブログで述べたように、データセットをダウンロードした後.ダウンロードしたzipファイルのジェネレーテッドlabelledflowを展開します.郵便番号.一度、私たちは私のケース/content/gdrive/My Drive/project/dataset/originalでGoogleドライブにアップロードされるすべてのファイルを取得します.一度、私たちは、新しいノートブックを作成し、Googleのドライブと接続します.
from google.colab import drive
drive.mount('/content/gdrive')

This may require permission for your google drive.


ハーレイ!今、私たちは正常にGoogleのドライブでは、我々は簡単に作成、編集、またはGoogle Collabを使用してファイルを削除することができます我々は我々のPCでJupyterノートブックを使用して行うことを意味します.

データのアイデアを得る


我々はデータをどのように見えるかのアイデアを得るためにデータフレームを作成するためにパンダを使用します.任意のファイルを選択することができます.金曜日の仕事時間午後のDDsで行きます.PCAPNES ISCXCSV
dataset_path = '/content/gdrive/My Drive/project/dataset/'
import pandas as pd
df = pd.read_csv(dataset_path+'original/Friday-WorkingHours-Afternoon-DDos.pcap_ISCX.csv')
df.head()

Head return first five rows of the data frame by default.



私たちは、我々のデータ集合の合計85のフィールド/コラムがあるのを見ることができます.

つのパンダデータフレームにすべてのデータセットファイルを結合する


すべてのファイルを1つのデータ・フレームに結合するために.すべてのファイルが同じ列を持つようにする必要があります.覚えて!すべての列は列の数ではありません.
DataFrameのリストを作成します.リスト内の各エントリは、DataSetの各CSVファイルのDataFrameに対応します.
all_files = [dataset_path+'original/'+each_file for each_file in os.listdir(dataset_path+'original/')]
all_dfs = [pd.read_csv(each_file,encoding='cp1252') for each_file in all_files]
今、我々はデータグラムのリストがあります.すべてのデータグラムが同じ列を持つかどうかを確認します.
total_columns = all_dfs[0].columns
all_same_column = np.array([])
for (index,df) in enumerate(all_dfs):
  all_same_column = df.columns == total_columns
  if False in all_same_column:
    print(f"This {all_files[index]} doesn't have the same columns")
すべてのファイルが同じカラムを持っているなら、私たちはここでのケースになるでしょう.さもなければ、我々はfurthure処理を実行する必要があります.最後に、1つのデータフレーム内のすべてのDFSをマージします.
if np.all(all_same_column):
  print("All files have same columns")
  merge_df  = pd.concat([each for each in all_dfs]).drop_duplicates(keep=False)
  merge_df.reset_index(drop=True, inplace = True)
  print("Total Data Shape :" +str(merge_df.shape))
else:
  print("All files have not same columns")