일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 뚝섬유원지
- 맛집
- DSEC
- GitHub
- Grafana
- Linux
- 성수대교
- 대구
- 정보처리기사
- 10km
- 한강
- Shell
- 자전거
- 힐링
- 소모임
- 대전
- 오답노트
- 하체
- 달리기
- 중식
- Python
- 건대입구역
- 유산소
- docker
- Kubernetes
- Run The Bridge
- 러닝
- zabbix
- Podman
- Today
- Total
목록Python (40)
Run The Bridge
평소에 재귀함수 구현에 관심이 있었지만, 바쁘다는 핑계로 미루다보니 벌써 5월 중순쯤에 포스팅을 하게 되었다. https://dojang.io/mod/page/view.php?id=2352 파이썬 코딩 도장: 31.1 재귀호출 사용하기 Unit 31. 함수에서 재귀호출 사용하기 함수 안에서 함수 자기자신을 호출하는 방식을 재귀호출(recursive call)이라고 합니다. 재귀호출은 일반적인 상황에서는 잘 사용하지 않지만 알고리즘을 구현 dojang.io 함수 안에서 함수 자기자신을 호출하는 방식을 Recursive call이라고 한다. 반복문 코드보다 재귀호출로 구현한 코드가 좀 더 직관적이고 이해하기 쉬운 경우가 많다. def hello(): print('Hello, world!') hello() h..
VirusTotal은 File, URL, IP, etc... 여러가지에 대해 악성유무를 검사할 수 있는 유용한 사이트이다. VirusTotal에서 제공하는 API를 가지고 python code를 짜서 손쉽게 데이터를 받아올 수 있다. 해당 사이트에 좌측을 보면 FILES에 scan, rescan, feed, search 등이 있고 /file/report로 결과값을 볼 수 있다. URL이나 domain, ip 모두 동일하다 import requests import time # 바이러스토탈 API key my_apikey = '' # 웹 서버와 연동 시 고쳐야 할 부분 # 바이러스 토탈 URL 스캔 url = 'https://www.virustotal.com/vtapi/v2/url/scan' scan_url..
채널, 볼륨, 켜짐유무를 확인하는 class를 생성해보았다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Television: def __init__(self, channel, volume, on): self.channel = channel self.volume = volume self.on = on def show(self): print(self.channel, self.volume, self.on) def setChannel(self, chann1. el): self.channel = channel def getChannel(self): return self.channel cs 호출방식은 다음과 같다. t = Television(9, 10, True) # 't'라는 객체를 생..
학과 졸업 프로젝트로 머신러닝을 다루어 보았는데, 생각보다 매력적이고 이때 가지하던 코딩과는 조금 다른 개념이라서 나 자신이 흥미를 가지기에 충분하였다. 그래서 종강도 하였겠다 시간도 많고 모니터도 더블 모니터로 준비해두었기에 올겨울 긴 시간 동안에는 머신러닝 & 딥러닝의 세계로 빠져들 예정이다. 먼저 첫 번째로 Pandas에 관련된 내용은 많이 게시하였지만, 시간이 지나면 까먹는 게 기정사실이기 때문에 Youtube를 통한 복습을 먼저 할 예정이다. 사용할 csv파일은 kaggle에서 지원하는 wine Reivews이다. ㆍ먼저 Pandas package를 import 시킨다. import pandas as pd ㆍwine Reviews csv를 불러온다. reviews = pd.read_csv('....
학교생활을 하면서 Python을 사용하는 경우가 많은데 함수까지는 어느정도 이해가 되었다. 하지만 Class를 사용하기에는 아직 실력이 많이 부족하여, 종강도 했고 시간이 매우 많이 남으므로 Class공부를 시작했다. https://youtu.be/uIcK7-YU8uA에서 도움을 많이 받았다. 우선 제일 기초적인 계산기를 Class와 함수를 이용해서 만든다. """ 클래스 이름: Four rules calculation 더하기: add 빼기: sub 곱하기: mul 나누기: div """ class Four_rules_calculation: def __init__(self, *args): self.a, self.b = map(int, input("숫자 두개를 입력해주세요: ").split()) def a..
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..