Run The Bridge

(Pandas) 요약정보에 임의 labeling 후 본 DataFrame에 label 달기 본문

Python/※Pandas Tip

(Pandas) 요약정보에 임의 labeling 후 본 DataFrame에 label 달기

anfrhrl5555 2020. 11. 22. 20:34
728x90
반응형


Train_dataset에 다음과 같이 요약본들이 들어가있고 끝에는 임의 label이 달려있다.


이 임의 label60000개 로그에 공격명에 맞춰서 달아 주어야한다.



1

y_train = train_dataset['label']

cs

Y_train값은 label을 담고있다.



1

map_label = list(zip(attack_number_train, y_train))

cs

먼저 list(zip)을 사용하여서 attack_numbery_train을 압축한다.




Map_label의 형식은 다음과 같다.


1

empty_df = pd.DataFrame()

cs

DataFrame을 하나 생성한 뒤,


1

2

3

4

for i, k in map_label:

    _ = df_train[df_train['Attack_Name'].str.contains(i)]

    _['label'= k

    empty_df = pd.concat([empty_df, _])

cs


for문으로 I, k값에 (nnnn), (0, 1)값을 넣어준다.


원래의 DataFramedf_train이므로 해당 (nnnn)으로 시작하는 값들을 모두 뽑아와 k[‘label’]이라는 Column에 넣어준다.


그 후 빈 DataFrame와 새롭게 만들어진 _ 값을 concat으로 합쳐주면 60000개의 로그에 모두 적용할 수 있다.


합치고나면 값들이 일정하게 정렬이 된다 이럴 때 섞어주고 싶으면 shuffle을 사용하면된다.


1

import sklearn

empty_df_shuffle = sklearn.utils.shuffle(empty_df)

cs




DataFrame을 생성하고 to_csv로 저장해서 전처리 후 M.L model을 생성하면 된다.


60% 20% 20%train, validation, test용으로쓴다.



감사합니다. Thank you!

728x90
반응형
Comments