DataFrame 합성 Pandas는 두개 이상의 DataFrame을 하나로 합치는 데이터 병합(merge)이나 연결(concatenate)을 지원합니다. DataFrame merge() merge 함수는 두 데이터프레임의 공통 column 혹은 인덱스를 기준으로 두개의 테이블을 합친다. 이 때 기준이 되는 column, row의 데이터를 키(key)(PK)라고 합니다. df1 = pd.DataFrame({ '고객번호': [1001, 1002, 1003, 1004, 1005, 1006, 1007], '이름': ['둘리', '도우너', '또치', '길동', '희동', '마이콜', '영희'] }, columns=['고객번호', '이름']) df2 = pd.DataFrame({ '고객번호': [1001, 10..
DataFrame apply() 메서드 DataFrame에 대해 Function을 적용하고 싶다면 apply()함수를 활용하면 좋습니다. 이 메서드는 첫 인자로 함수를 필수값으로 받습니다. 경우에 따라 두번째 인자로 axis를 사용할 수 있습니다. axis 인자는 0이 default입니다. axis가 0 or 'index'인 경우 각 column에 대해 함수를 적용합니다. axis가 1 or 'columns'인 경우 각 row에 대해 함수를 적용합니다. 아래의 예제에서는 Numpy의 np.sort를 사용하여 적용해보았습니다. np.sqrt는 각 요소마다 적용되는 함수(universal function, ufunc)로 이 경우에는 np.sqrt(df)와 동일한 결과를 가져옵니다..
연습문제 기록 class Team: ### 클래스 속성 '''팀 객체를 만듭니다''' count = 0 order = [] def __init__(self, number, name = None, member = set()): ### 인스턴스 속성 self.number = number self.name = name self.__member = member Team.count += 1 Team.order.append(number) def add_member(self, name): '''팀원을 추가합니다''' # 해당 이름이 팀에 없을 경우 if name not in self.__member: self.__member.add..
DataFrame Class DataFrame은 Pandas의 주요 데이터 구조입니다. label된 row와 column, 두개의 축을 갖는 데이터 구조입니다. 산술 연산은 row와 column 모두 적용됩니다. Series 객체를 갖는 dictionary라고 생각하면 비슷합니다. 첫 인자로 data, 두 번째 인자로 index를 전달합니다. DataFrame은 각 column마다 자료형이 다를 수 있습니다. DataFrame 생성 Series가 1차원 벡터 데이터에 행방향 index(row index)를 붙인것이라면 DataFrame 클래스는 2차원 행렬 데이터에 index를 붙인 것과 형태가 비슷합니다. row와 column을 갖는 2차원이므로 각각의 행 데이터의 이름이 되는 행 index(row i..
Pandas(Panel Datas) 판다스는 주로 데이터 분석에 사용됩니다. 대부분의 데이터는 시계열(Series)이나 표(table)의 형태로 나타낼 수 있습니다. Pandas 패키지는 이러한 데이터를 다루기 위한 Series 클래스와 DataFrame 클래스를 제공합니다. 숫자 테이블과 시계열을 조작하기 위한 데이터 구조와 연산을 제공합니다. Pandas package import import pandas as pdSeries class Series 클래스는 Numpy에서 제공하는 1차원 배열과 그 모양이 비슷합니다. 하지만 Series data는 배열과 다르게 각 데이터의 의미를 표시하는 index를 붙일 수 있습니다. 데이터 자체는 값(value)라고 합니다. series = pd.Series([..
함수(function) 프로그래밍에서 함수(function)는 독립적으로 설계된 프로그램 코드의 집합입니다. 함수를 사용하면 반복적인 코드의 양을 줄여 유지보수성을 높여줍니다. ### 함수 정의부 def 함수명(인자, 인자,...): ## parameter : 인자 함수코드... return 반환값 ### 메인코드 x = 함수명(인수, 인수, ...) ## argument : 인수 print("결과값 :", x) 함수가 호출되면 함수정의부로 가서 함수 호출부의 인수 값을 함수 정의부 인자값에 순서대로 대입 함수 정의부 내부 코드를 순차적으로 실행 해당 함수에 return 값이 있는 경우, 함수 호출부를 return 값으로 치환 파이썬은 오버로딩(overloading) 불가 프로그래밍에서의 함수(funct..
튜플 : immutable(불변한) 리스트에 비해 가능한 메소드 빈 튜플(empty tuple) 비어있는 빈 튜플을 만들 때는 소괄호(())만 쓰거나 인자없는 tuple 함수를 사용하면 됩니다. empty_tuple = tuple() print(empty_tuple) print(type(empty_tuple))제너레이터 컴프리헨션(comprehension) 소괄호로 된 아래 표현식은 튜플이 아닌 제너레이터 컴프리헨션이 된다. 제너레이터도 반복 가능한 객체로 tuple() 함수를 사용하면 제너레이터 객체를 tuple로 만들 수 있습니다. generator_variable = (expression for x in range(10)) tuple(expression for x in range(10)) gener..
딕셔너리 자료형(DICTIONARY TYPE) 딕셔너리 자료형은 비 시퀀스 자료형입니다. 따라서 인덱스를 갖지 않습니다. 대신 이 자료형은 고유한 키(KEY) 값을 갖습니다. 이 키(KEY)는 1대1로 매칭 되는 값(VALUE)를 갖습니다. 이를 KEY-VALUE PAIR라고하며 딕셔너리 자료형의 특징입니다. 중괄호({})를 활용하여 딕셔너리 자료형을 생성할 수 있습니다. 중괄호 안에는 KEY-VALUE PAIR를 작성하며 형태는 KEY:VALUE와 같습니다. KEY-VALUE PAIR는 콤마로 구분지어 요소로 등록할 수 있습니다. dic_var = {'key':'value'} dictionary_variable = {key: value, key: value} 딕셔너리 키(K..
for문 for 요소를 담을 변수 in 반복 가능한 객체: 반복할 코드(띄어쓰기 4칸) for 변수 in range(횟수): 반복할 코드(띄어쓰기 4칸) Python에서의 for문 조금 특이한 구조 JAVA의 일반적인 for문은 for(변수 선언; 조건식; 증감식){실행부} 변수의 숫자를 증감시키고, 산술적 변화에 따라 조건식에 부합할 때까지 반복하는 방식 오히려 Python의 for문은 자바의 향상된 for문과 유사 for(자료형 변수명 : Iterable){실행부} range print(list(range(5,10))) print(list(range(0,10,3))) print(list(range(-10,-71, -30))) # [5, 6, 7, 8, 9] # [0, 3, 6, 9] # [-10, -..