일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 대전
- 10km
- 대구
- 소모임
- Kubernetes
- 러닝
- docker
- Grafana
- DSEC
- Podman
- zabbix
- 정보처리기사
- 뚝섬유원지
- 유산소
- Run The Bridge
- 달리기
- 성수대교
- 오답노트
- 하체
- 자전거
- 건대입구역
- 힐링
- 맛집
- 한강
- Python
- GitHub
- 중식
- 2021
- Linux
- Shell
- Today
- Total
Run The Bridge
(Pandas) 요약정보에 임의 labeling 후 본 DataFrame에 label 달기 본문
(Pandas) 요약정보에 임의 labeling 후 본 DataFrame에 label 달기
anfrhrl5555 2020. 11. 22. 20:34Train_dataset에 다음과 같이 요약본들이 들어가있고 끝에는 임의 label이 달려있다.
이 임의 label을 60000개 로그에 공격명에 맞춰서 달아 주어야한다.
1 |
y_train = train_dataset['label'] |
Y_train값은 label을 담고있다.
1 |
map_label = list(zip(attack_number_train, y_train)) |
먼저 list(zip)을 사용하여서 attack_number와 y_train을 압축한다.
Map_label의 형식은 다음과 같다.
1 |
empty_df = pd.DataFrame() |
빈 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, _]) |
for문으로 I, k값에 (nnnn), (0, 1)값을 넣어준다.
원래의 DataFrame이 df_train이므로 해당 (nnnn)으로 시작하는 값들을 모두 뽑아와 k을 [‘label’]이라는 Column에 넣어준다.
그 후 빈 DataFrame와 새롭게 만들어진 _ 값을 concat으로 합쳐주면 60000개의 로그에 모두 적용할 수 있다.
합치고나면 값들이 일정하게 정렬이 된다 이럴 때 섞어주고 싶으면 shuffle을 사용하면된다.
1 |
import sklearn empty_df_shuffle = sklearn.utils.shuffle(empty_df) |
DataFrame을 생성하고 to_csv로 저장해서 전처리 후 M.L model을 생성하면 된다.
60% 20% 20%로 train, validation, test용으로쓴다.
감사합니다. Thank you!
'Python > ※Pandas Tip' 카테고리의 다른 글
(Pandas) 생각보다 자주 쓰는 코드 (0) | 2020.11.22 |
---|---|
(Pandas) 각 Column들의 횟수가 다양하게 존재할 때 횟수별로 Count 후 값 넣기 (0) | 2020.11.22 |
(Pandas) 특정 횟수를 Count한 다음 각 Row에 값 넣기 (0) | 2020.11.22 |
(Pandas) Column 추가와 원하는 곳에 생성하기 (0) | 2020.11.22 |
(Pandas) 인덱스 분리 후 각 Column 생성하기 (0) | 2020.11.22 |