본문 바로가기

CS?

(18)
[Python/pandas] 컬럼마다 적절한 데이터 형태로 값을 바꾸고 싶을 때 - infer_objects() 데이터프레임에서 입력한 값과 dtype을 통해 확인한 값이 다를 때가 있다. 그 중에서도 object 타입으로 되어 있을 때, 데이터프레임 infer_objects()가 적절한 데이터타입을 추천해준다. (사실 추천이라기 보단 추측해서 제안하는 것이다) DataFrame.infer_objects() 리턴값 입력한 컬럼의 변환된 데이터 타입이 반환된다. 예시로 살펴보자! df = pd.DataFrame({'int': ["a",1, 2,]}) df 먼저 문자와 숫자가 섞인 int라는 이름의 컬럼을 데이터프레임에 만든다. df.iloc[1:].dtypes a가 있는 행을 제외한 나머지 두 행만 뽑아 데이터 타입을 검색해보면 int가 아닌 object 타입으로 설정된 것을 볼 수 있다. df.iloc[1:].in..
[Pandas] 데이터 프레임에서 원하는 데이터 타입 컬럼만 추출하기 - select_dtypes 데이터 프레임 컬럼 추출 작업을 하다보면 원하는 데이터 타입의 컬럼을 뽑고 싶을 때가 있다. 그럴 때 사용할 수 있는 것이 "select_dtypes"이다. DataFrame.select_dtypes(include=None, exclude=None) 파라미터 : include, exclude 포함하거나 (include), 제외할 (exclude) 데이터 타입을 작성한다. 두 값 중 하나는 무조건 할당되어야 하며, 중복될 수 없다. 리턴값 : Dataframe 파라미터 조건에 맞는 컬럼이 데이터프레임으로 만들어져 데이터프레임 타입으로 반환된다. 에러 발생 1. 파라미터로 아무 값도 주지 않았을 때 (include와 exclude 모두 지정하지 않은 채 select_dtype()으로 실행했을 때) 2. in..
[pandas] Dataframe shift()로 다음 행에서 현재 행에 값 가져오기 (행 위치 바꾸기) 데이터 정제를 하다보면 다음 행의 값을 현재 행에 추가해야 하는 일이 생긴다. unique_id time next_time 1 10-28 ?? 2 10-29 ?? 3 10-29 ??? 이럴 때 사용하는게 shift 메소드이다! shift - 데이터프레임에 적용하여 원하는 수만큼 행/열을 이동할 수 있다. - 사용하는 파라미터 periods : 숫자로 입력하며, 이동할 크기를 지정한다 (필수) freq : 인덱스 이동 시키고 싶을 때 입력 양수 : 위의 값 음수 : 아래의 값 axis : 행(axis=0)으로 할지, 열(axis=1)로 할지 지정 fill_values : 빈칸에 채울 값 (결측치 값) 그래서 데이터프레임에서 다음행을 가져오기 위해서는 periods의 값을 -1로 하게 될 경우 원하는 결과를..
[python : 자료구조] 선형 리스트 자리찾기 및 삽입 자료구조 중 하나인 선형 리스트를 이용해 구현한 이름과 연락횟수 나열 리스트이다. 이름과 연락횟수를 입력하면 리스트에서 연락횟수 순으로 정렬할 수 있도록 하는 코드를 작성하였다. 공백 입력 시 프로그램이 종료될 수 있도록 설정하였다. 초기 리스트는 lis로 설정되어 있으며 이 리스트에서 추가가 이뤄진다. 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 32 33 34 def input_data(friend, count): if count = lis[i-1][1]: lis[i]=lis[i-1] lis[i-1] = None cnt +=1 else : break position = list_len-cnt-1 ..
[python] escape 문자 & escape 문자 무시하기 가끔 따옴표를 출력해야 할 때가 있다. 이럴 때 바로 "escape 문자"를 사용하는 것이다! 그리고 escape문자도 출력하고 싶으면 이를 무시할 수 있다. escape 문자란? 원래 의미를 탈출하는 문자, 특수한 역할을 하는 문자를 의미한다 예를 들어 "hello world"라는 따옴표까지 포함된 문장을 출력하고 싶을 때 print문 안에 입력하게 되면 기본으로 문장임을 타나내주는 따옴표가 있다. 하지만 이 따옴표는 출력되지 않고 hello world만 출력된다. 1 2 3 print("hello world") >>hello world cs 따라서 이러한 경우 이스케이프 문자를 사용해 따옴표까지 포함한 문장을 출력할 수 있다. 1 2 3 print("\"hello world\"") >>"hello w..
CSRF 토큰 CSRF 토큰이란? - CSRF 취약점을 방지하기 위해 서버측 애플리케이션에서 생성하는 난수 -토큰은 클라이언트가 만든 subsequent HTTP request에서 서버측 애플리케이션에 의해 만들어지고 제출 -request가 만들어지고나서 서버측 애플리케이션은 유저 세션과 요청 세션에서 만들어진 두 토큰을 비교 -토큰이 없어지거나 사용자 세션 값과 맞지 않는다면, request는 거절, 사용자 세션 종료, 이벤트가 CSFR로 로그에 남음 CSFR 토큰 생성 방법 -일반적으로 세션 토큰과 같이 CSRF 토큰은 상당한 엔트로피와 예측할 수 없음을 포함 -pseudo-random number generator(PRNG) 암호화 강도를 사용해 CSFR 토큰을 만들 수 있다. **PRNG: 난수가 발생될 때 타..
[python] 리스트 다항식 계산하기 (list 자료구조 연습) 자료구조에 list 부분 연습문제로 다항식 계산하는 문제가 나왔는데, 책에서 원한 방식은 클래스로 구현하는 것 같았지만! 아직 그정도 실력은 아니기 때문에 그냥 구현했다 ㅋㅋㅋ 거기에 다항식 어떻게 출력할지 몰라서 한 줄에 한 항씩 표시되는,,,, 언젠간 수정,,, 할 수 있다면,, 하는 걸루,,ㅎㅎ 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 max_degree = int(in..
[Python] 전치행렬 구현 코드 (numpy 없이 구하기) 요즘 1학년 수학 수업을 청강하고 있는데 교제에 행렬 덧셈을 직접 코드로 구현한 것이 나왔다. 그래서 numpy의 .T 사용하는 것 대신 행렬 전치도 코드로 구현해 사용하고 싶어서 구현하기로 했다!! (일주일이 걸릴 줄은 몰랐지만...) 코드는 책에 나온 코드에 구글링해서 나온 코드 참고해서 작성했다. 구글링 없이 짜보려고 노력하다 도오오오저히 안될 것 같아 구글링 해보니까 입력한 배열을 전치하는 코드가 있긴 했지만, 문제는 입력값이 아니라 미리 행렬길이를 정해놓은 코드라 입력하는 행렬에 따라 자유롭게 전치하는 것이 불가능했다. 그래서 이 부분을 입력값에 따라 자유롭게 전치가 가능하도록 구현해봤다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 def matrixMult(A): row=len..