일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 건대입구역
- DSEC
- 한강
- Podman
- Kubernetes
- Shell
- 오답노트
- 2021
- 맛집
- 10km
- 중식
- 하체
- 대전
- zabbix
- 성수대교
- 유산소
- GitHub
- Linux
- Python
- 러닝
- 정보처리기사
- 뚝섬유원지
- docker
- 대구
- 소모임
- 달리기
- Grafana
- 자전거
- 힐링
- Run The Bridge
- Today
- Total
Run The Bridge
(Pandas) 각 Column들의 횟수가 다양하게 존재할 때 횟수별로 Count 후 값 넣기 본문
(Pandas) 각 Column들의 횟수가 다양하게 존재할 때 횟수별로 Count 후 값 넣기
anfrhrl5555 2020. 11. 22. 20:20Project를 진행하면서 tcp, udp, icmp, etc의 횟수를 Count해서 각 공격명에 맞춰서 값을 넣어야하는 상황이 있었다.
공격명은 얼추 24개정도이고, 각 Protocol별 횟수는 모두 상이했다.
로그의 개수는 대략 60000개 정도이다.
1 2 3 |
count_protocol = [] for i in attack_number: count_protocol.append((df_train[df_train['Attack_Name'].str.contains(i)]['Protocol'].value_counts().index[0], df_train[df_train['Attack_Name'].str.contains(i)]['Protocol'].value_counts()[0])) |
먼저 빈 list를 하나 생성하고, attack_number을 for문으로 돌렸다.
Attack_number가 무엇인지는 저번 게시글을 보면 나와있다. (nnnn)형식으로 이루어져있다. 먼저 공격명에 따른 Protocol의 index를 뽑았다.
코드를 보면 (2242)로 시작하는 udp가 41518개가 존재한다. 여기서 index라는 함수를 써서 udp를 뽑아온다.
1 |
df_train[df_train['Attack_Name'].str.contains('2242')]['Protocol'].value_counts().index[0] |
그리고 index[0]를 빼고 기본코드에 [0]을 추가해서 횟수를 가져온다.
1 |
df_train[df_train['Attack_Name'].str.contains('2242')]['Protocol'].value_counts()[0] |
이러한 방식으로 for문을 돌린 후 count_protocol를 print해보면 다음과 같은 값들이 들어있다.
이 값들을 공격명에 맞춰서 넣어주면 된다.
1 2 |
for i,k in enumerate(count_protocol): train_dataset.loc[i, k[0]] = k[1] |
for문에 enumerate를 써서 i값은 차례로 증가하면 train_dataset.lo[1, ‘udp’] = 41518이 된다.
두번째는 train_dataset.lo[2, ‘tcp’] = 5408이 들어가게된다.
다행히 값들이 두 개 이상 존재하는 것이 없어서 가능했다.
이렇게 tcp, udp, icmp, etc에 횟수가 잘 들어갔다.
감사합니다. Thank yuo!
'Python > ※Pandas Tip' 카테고리의 다른 글
(Pandas) 생각보다 자주 쓰는 코드 (0) | 2020.11.22 |
---|---|
(Pandas) 요약정보에 임의 labeling 후 본 DataFrame에 label 달기 (0) | 2020.11.22 |
(Pandas) 특정 횟수를 Count한 다음 각 Row에 값 넣기 (0) | 2020.11.22 |
(Pandas) Column 추가와 원하는 곳에 생성하기 (0) | 2020.11.22 |
(Pandas) 인덱스 분리 후 각 Column 생성하기 (0) | 2020.11.22 |