일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2021
- Shell
- Podman
- Run The Bridge
- 힐링
- 맛집
- 정보처리기사
- zabbix
- GitHub
- 건대입구역
- 달리기
- 성수대교
- 유산소
- 대전
- 중식
- 소모임
- docker
- 대구
- Grafana
- 러닝
- 10km
- 하체
- Linux
- DSEC
- 뚝섬유원지
- Kubernetes
- 오답노트
- 자전거
- Python
- 한강
- Today
- Total
목록Python/※Pandas Tip (6)
Run The Bridge
DataFrame 형태 1. Column 안에 값 대문자로 바꾸기(str.upper()) 1 df[df['job'].str.contains('s')] cs 3. Series를 numpy형태로 바꾸기
Train_dataset에 다음과 같이 요약본들이 들어가있고 끝에는 임의 label이 달려있다. 이 임의 label을 60000개 로그에 공격명에 맞춰서 달아 주어야한다. 1 map_label = list(zip(attack_number_train, y_train)) cs 먼저 list(zip)을 사용하여서 attack_number와 y_train을 압축한다. Map_label의 형식은 다음과 같다. 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)값을 넣어..
Project를 진행하면서 tcp, udp, icmp, etc의 횟수를 Count해서 각 공격명에 맞춰서 값을 넣어야하는 상황이 있었다. 공격명은 얼추 24개정도이고, 각 Protocol별 횟수는 모두 상이했다. 로그의 개수는 대략 60000개 정도이다. 1 df_train[df_train['Attack_Name'].str.contains('2242')]['Protocol'].value_counts().index[0] cs 그리고 index[0]를 빼고 기본코드에 [0]을 추가해서 횟수를 가져온다. 1 2 for i,k in enumerate(count_protocol): train_dataset.loc[i, k[0]] = k[1] cs for문에 enumerate를 써서 i값은 차례로 증가하면 trai..
1 2 3 attack_number = [] for i in attack_list: attack_number.append(i[:6]) cs Unique값으로 쓸 수 있는 앞에 (nnnn)을 parsing한다. 1 2 # Column에 입력 train_dataset['Attack_IP_Count'] = count_IP cs 그 다음 DataFrame에 Column을 생성하고 값을 넣어주면된다. Project하면서 생각보다 괜찮은 코딩인거 같아서 review를 해보았는데, 생각보다 표현하기가 어려운거같다. 더 쉬운방법이 있으면 댓글로 알려주면 감사하겠습니다. 감사합니다. Thank you!
[DataFrame 형태] DataFrame에 원하는 Column을 추가하고 위치 지정하는 방법 à insert를 써준다.