본문 바로가기

전체 글

(23)
교차도표 이리저리 데이터 관련 검색을 하다가 캐글이라는 사이트를 봤는데 공부하기 좋은 것 같아서 보고있다. 그런데 공부하다 보니 교차도표라는 용어가 나와서 궁금해서 검색을 해봤다. 전 범위에 걸쳐서 말하는건지 파이썬만 해당하는 것을 검색해서 나온건지 모르겠지만 일단 정리해 본다. 파이썬 pandas 에서 범주형 변수가 어떻게 연관되어 있는지를 보여주는 표, 교차도표라고 한다.여기서 pandas는 파이썬 데이터 분석 라이브러리 중 하나이며, 데이터 조작, 정제, 분석, 시각화 등을 위한 다양한 기능을 제공한다 간단하게pip install pandas pip 명령어로 설치하면 된다.범주형 변수는 데이터 분석에서 여러가지 카테고리 또는 그룹으로 나눌 수 있는 변수를 의미하는데, 수치적인 연속성을 가지지 않으며, 몇개의..
Slicing 파이썬 문제를 풀거나 정보를 찾아보면 [a:b]이런식으로 있는게 있다. 찾아보니까 공부할 만 해서 적어본다.슬라이싱(Slicing)이란 연속적인 객체들에(ex:리스트,튜플,문자열) 범위를 지정해 선택해서 객체들을 가져오는 방법 및 표기법을 의미한다. 이때 슬라이싱을 하면 새로운 객체를 생성하게 된다.lst[start:end:step]  형태는 위와 같은데 모두 양수와 음수를 가질수 있다.start: 슬라이싱을 시작할 위치end: 슬라이싱을 끝낼위치인데 end의 숫자는 포함하지않는다.step: 몇개씩 끊어서 가져올지와 방향을 정한다. 생략할 경우 1단위가 된다.양수는 객체의 제일 앞에서부터 0을 시작으로 뒤로가면서 증가하면서 번호를 매긴다.음수는 반대로 제일 뒤에서부터 -1을 시작으로 앞으로 가며 번호를 ..
eval/exec 가끔 문제를 풀다 보면 풀이에 eval과 exec가 많이 보인다. 이것들은 뭘까? eval과 exec 함수는 파이썬의 내장함수다. 문자열로 이루어진 식 또는 문을 파이썬 코드로 실행할 때 사용한다.eval은 문자열로 구성된 식을 처리한다.print(eval("1 + 2"))#3a = 1print(eval("a+2"))#3x = eval("a+2")print(x)위와 같이 식 안의 것들을 처리하고 식만 처리함으로 안에서의 변수 선언 및 할당은 할 수 없다. 그리고 코드 내에 변수들의 값도 받아서 식을 처리할 수 있다. 결괏값이 나오기 때문에 변수에 담아서 사용할 수도 있다. exec는 문으로 구성된 파이썬 코드를 실행한다.a = 1print(exec("1 + 2")) #Noneprint(exe..
백준 2753번 문제 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. 입력첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다. 출력첫째 줄에 윤년이면 1, 아니면 0을 출력한다. 첫 번째a = int(input())if (a%4 == 0 and a%100 != 0) or a%400 == 0: print(1)else: print(0)코드길이 : 92..
Row String 블로그 같은걸 보면 문자열 앞에 r이 붙은걸 종종 본다 이게 뭔지 궁금해서 검색하니test = r'test' Row String(원시 문자열)이라고 한다.  일반적으로 Literal Text(리터럴 텍스트)표현을 쓰는데 따옴표를 사용한다.a = 'test1'b = "test2"ab = 'test "this is test" 1' 위와 같이 작은따옴표와 큰따옴표로 텍스트를 구분 해서 사용할 수 있고, 이 두가지를 사용하면 텍스트에 구분 문자중 하나가 포함 될 때 구문 오류 방지하는데 도움이 된다. 그리고 세개의 따옴표가 있는데 여러줄의 문자열 리터럴을 선언 할 수있다.a = """test1test2test3test4""" 그러면 원시 문자열은 뭘까...r문자를 접두사로 사용하면 해당 문자열 리터럴이 원시 문..
map함수 파이썬을 공부하다 map 함수를 봤는데 편리한 것 같아서 적어본다. map(function, iterable)첫 번째 매개변수로 함수가 오고, 두 번째 매개변수로는 반복 가능한 객체가 온다. iterable는 내부에 __iter__ 메서드가 있는 모든 객체로, 순회할 수 있는 객체이고 재사용이 가능하다. 대표적으로 list, 문자열, dictionary, tuple, set과 같은 자료 유형이 해당한다.객체가 iterable인지 확인하는 코드는 아래와 같다form typing import Iterableprint(isinstance(자료유형,Iterable)) 내부에 __iter__메서드가 있으면 모두 Iterable 객체로 인식하는데 의미 없는 class안에 __iter__ 메서드를 선언만 해도 Ite..
파일 시그니처 파이썬 공부를 하다가 hxd에서 파일을 열 때가 있는데 각 파일의 시그니처가 있다고 한다. 그래서 한번 정리하려고 블로그를 쓴다.hxd는 파일을 헥스값(16진수)로 볼 수 있는 프로그램이다.여기서 말하는 각 파일이란 것은 (.)뒤에 나타나는 파일 확장자를 말한다.예를들어 jpg파일 두개를 hxd로 열어보면 11.jpg와 그대로 복사한 11.pdf의 헤더 시그니처 앞의 00 ~03까지의 부분이 FF D8 FF E0 으로 같다. 그래서 보니까 확장자는 의미가 없고 파일의 시그니처가 파일의 형태를 결정 짓는다. 이런걸로 디지털 포렌식, 파일복구, 악성파일 구분에 활용 한다. 23 21#!0 Script or data to be passed to the program following the shebang (#..
colab 파이썬을 하다가 구글 코랩이라는 것을 봤다 이게 뭔가 싶어 검색했는데 머신러닝 관련 같은데 재밌어 보여서 공부하게 됐다.코랩은 구글이 제공하는 클라우드 기반 jupyter notebook환경이라고 한다.주피터 노트북은 오픈소스에 웹 기반 플랫폼이다. 웹 기반은 웹에서 동작하는 소프트웨어를 의미한다. 코랩은 무료로 제공되며 구글 드라이브와 연동해서 파일을 저장하고 공유할 수 있다. 그리고 구글 클라우드와 연동되어 자신의 컴퓨터보다 좋은 하드웨어를 사용할 수 있다. 그리고 편리한 점이 다양한 라이브러리와 프레임워크를 미리 설치해 놔서 추가적인 설치 없이도 바로 사용할 수 있다.시작은 구글계정가지고https://colab.research.google.com/ Google Colab colab.research...