728x90

IT/언어 133

[python] python으로 JSON 파일 다루는 기초적인 방법

Python의 표준 라이브러리인 json모듈을 사용하면 JSON형식의 파일이나 문자열을 파스해서 사전형 dict등의 객체로써 읽어 들일 수 있다. 또한 JSON에 상당하는 객체를 정형화하여 JSON형식의 파일이나 문자열로써 출력하거나 저장하는 것도 가능하다. 이번 포스팅을 통해서 살펴 볼 내용은 다음과 같다. JSON문자열을 사전형(dict형)으로 변환 : josn.loads() - 순서대로 저장 : 인수 object_paris_hook - 바이트열을 변환 JSON파일을 사전형으로 읽어들이기 : josn.loads() 읽어들인 사전형 데이터의 값을 취득, 변경, 삭제, 추가하기 - 값의 변경 - 요소의 삭제 - 요소의 추가 사전형(dict형)을 JSON문자열로 정형화하여 출력 : json.dumps() ..

IT/언어 2021.05.22

[python] pandas로 요소, 행, 열에 함수를 적용하는 map, applymapp, apply

적용할 함수, 대상에 따른 차이 pandas의 객체(pandas.DataFrame, pans.Sries)에 함수를 적용할 경우, 어떠한 함수에 적용하는가 그리고 요소/행/열 어디에 적용할 것인가에 따라 사용하는 메소드가 달라진다. Numpy함수의 인수로 pandas객체를 지정 - 함수의 인수에 pandas객체를 지정하는 것이 가능하다. - 함수의 종류 및 인수의 설정에 따라 요소/행/열에 적용되는 방법이 다르다 - pandas객체의 메소드로 사전에 정의되어 있는 함수도 있다. pandas객체의 메소드에 함수를 적용 - 요소(스칼라값)에 관한 함수 + Series의 각 요소에 적용: map(), apply() + DataFrame의 각 요소에 적용: applymap() - 행/열(1차원 배열)에 관한 함수..

IT/언어 2021.05.17

[python] pathlib 사용법 (패스(경로)를 객체로써 조작, 처리)

Python의 pathlib모듈을 사용하면, 파일, 디렉토리(폴더)의 경로를 객체로써 조작하거나 처리할 수 있다. 파일명 혹은 부모 디렉토리를 알아내거나, 경로의 목록을 얻어내거나, 파일을 작성하거나 삭제하는 등, 대략적인 파일관련된 처리가 가능하다. 익숙해지면 경로 문자열을 이용하는 기존의 os.path보다는 사용하기 편할 것이다. pathlib는 Python 3.4부터 추가된 모듈이다. 표준 라이브러리에 포함되어있으므로 별도의 인스톨이 필요하지 않다(물론 , 사용 전에 import 구문 작성은 필요하다) . 여기서 pathlib모듈의 기본적인 사용법으로 아래의 내용에 대해서 살펴 볼 것이다. Path 오브젝트의 생성·처리 - 컨스트럭터 pathlb.Path() - 메소드의 실행 - 존재하지 않는 경로..

IT/언어 2021.05.15

[python] python의 self와 __init__의 이해

※ 일본의 한 포스팅을 번역한 글입니다. 오역 및 직역이 있을 수 있으며, 내용 오류는 댓글로 지적해주심 감사하겠습니다. Python의 클래스에 대한 이해 다른 언어와 동일하게 python에서도 클래스를 이용하여 보다 편리하게 함수를 다룰 수 있다. 참고로 클래스는 데이터나 처리의 정의 등을 하나로 정리해둔 모형과 같은 것이다. 클래스를 사용하지 않고 함수 작성한다면 보통 다음과 같이 작성한다. def some_function(something): print(something) 그러나 클래스를 이용한다면 기본적으로 다음과 같이 작성하게 된다. class SomeClass: def __init__(self,something): self.something = something def some_function..

IT/언어 2021.05.14

[python] Python 정규표현 모듈 re 사용법 (match, search, sub등)

Python에서는 정규표현 처리를 하기 위해 표준 라이브러리인 re 모듈을 사용한다. 정규표현 패턴를 이용한 문자열의 추출이나, 치환, 분할 등이 가능하다. 이번 포스팅에서는 먼저 re모듈의 함수나 메소드에 대해서 설명한다. - 정규 표현 패턴의 컴파일 compile() - 매치 오브젝트 - 문자열의 앞 부분이 매치되는가를 체크, 추출 match() - 선두에 한해서 매치하는지를 체크, 추출 search() - 문자열 전부가 매치되는가를 체크 fullmatch() - 매치된 부분 모두 리스트로 취득 findall() - 매치된 부분 모두 이터레이터(iterator)로 취득 finditer() - 매치된 부분을 치환 sub() subn() - 정규표현 패턴으로 문자열을 분할 spilt() 그 다음에는 re..

IT/언어 2021.05.12

[python] os.path.join사용법

os.path.join이란 경로(패스)명 조작에 관한 처리를 모아둔 모듈로써 구현되어 있는 함수의 하나이다. 인수에 전달된 2개의 문자열을 결합하여, 1개의 경로로 할 수 있다. os.path.jon()을 사용하기 위해서는, os 모듈을 import할 필요가 있다. 실제로 os.path.join()을 호출하는 방법과 실행 결과를 확인해보자. #! /usr/bin/env python import os print("join(): " + os.path.join("/A/B/C", "file.py")) 실행결과는 다음과 같다. join(): /A/B/C/file.py 이와 같이 경로와 피일명을 결합하거나 분할된 경로를 하나로 정리하거나하는 것이 가능하다. 아래에서는 구체적인 사용법에 대해서 알아보고자한다. joi..

IT/언어 2021.05.11

[python] 타입힌트(Type Hints)

Python 3.5부터 Type Hints라는 기능이 도입되었다. 이것은 (데이터)형에 관한 주석(데이터형 어노테이션)을 붙일 수 있는 것으로 간단히 살펴 보자면 아래와 같이 작성한다. def greeting(name: str) -> str: return 'Hello ' + name 어노테이션에 실제로 해당하는 부분은 아래와 같다. - name: str : 인수 name이, str형이라는 것을 어노테이션한다. - -> str : 함수 greeting의 반환값의 형이 str이라는 것을 어노테이션한다. 또한 Type Hints에서는 변수 선언에 있어서 형 코맨트에 대해서도 언급하고 있다. x = [] # type: List[Employee] 이것은 어떠한 문법이 아니라 정말 코맨트의 확장 역할이지만, 현재 ..

IT/언어 2021.04.12

[python] 데코레이터(decorator)를 이해하기 위한 12단계 스텝

Step1. 함수 >>> def foo(): ... return 1 ... >>> foo() 1 제일 기본이다. Python에 있어서 함수는 def 키워드로 함수명과 파라미터의 리스트(임의)를 이용해 정의한다. 또한 괄호를 붙인 이름을 지정하여 함수를 지정할 수 있다. Step2. 스코프 Python에서는 함수를 만들면 새로은 스코프가 만들어진다. 다시 말하자면 각각의 함수르 각각의 이름 공간을 가지고 있다는 의미이다. Python에서 이것을 확인하기 위한 함수도 준비되어 있다. locals()라는 함수로 자신이 가진 로컬 이름 공간의 값을 사전형으로 반환한다. >>> def foo(arg): ... x = 10 ... print locals() ... >>> foo(20) {'x': 10, 'arg':..

IT/언어 2021.04.07

[C#] C#의 Delegate

1. Delegate의 개요 delegate를 한 마디로 말하자면, "함수를 대입할 수 있는 변수"이다. 코드로 설명한다면 더 빨리 와닿을 것 같지만, 그 전에 Delegate형을 선언하는 방법부터 설명하고자 한다. 방금 Delegate는 함수를 대입하는 변수라고 설명했다. 이 말은 즉, 함수에는 "반환값"과 "인수"가 필요하다는 것이다. 아래와 같은 형식으로 선언한다. delegate 리턴값의데이터형 델리게이트형이름(인수리스트); 예를 들어, 표준 출력으로 Hello를 표시하는 리턴값이 없고 인수가 없는 SayHello이라는 델리게이트형의 이름으로 선언하는 경우 아래와 같이 작성할 수 있다. delegate void SayHello(); 더욱 자세한 예를 살펴 보자. 이름을 인수를 넣으면 "Hello!..

IT/언어 2021.03.14

[C#] C#의 Dictionary (사전형) 데이터 사용법

Dictionary이란 Dictionary에서는 Key라고 불리는 인덱스 번호를 대신해 사용하는 명칭과 Value라고 불리는 값을 세트로 다룬다. 참고로 Key와 Vlaue 세트로 다루는 배열을 "연관 배열"이라고 부른다. C#에서 연관 배열을 다루기 위한 클래스가 Dictionary클래스이다. Dictionary클래스에서는 Key를 사용하여 Value의 값을 취득한다. 덧붙여 중복된 Key을 사용할 수 없으므로 주의하자! List와의 차이점 List는 인덱스 번호를 사용하여 요소의 값을 얻는다. 그에 반해 Dictionary는 앖서 말했는 Key값을 사용하여 Value를 취득하므로, 숫자이외의 문자열 등을 키로 지정하여 세트의 값을 뽑아낼 수 있다. 항목과 그 값이 세트 데이터로 다루어질 필요가 있는 ..

IT/언어 2021.03.06
728x90