Drop 데이터프레임의 칼럼과 로우를 삭제하는데 사용되는 메소드이다. df2 = df.copy() df2.drop(['지역'], axis=1, inplace=True) ※ axis = 0일 때, 로우를 의미하고, axis = 1일 때, 칼럼을 의미한다. Function Apply 맵 함수와 비슷한 방법론이다. 데이터프레임에 일관적으로 특정한 함수를 적용하고 싶을 때 사용한다. import numpy as np import pandas as pd data = { 'Sex': ['Male', 'Female', 'Male'], 'Age': [25, 28, 22], 'Score': [95, 85, 75]} df = pd.DataFrame(data) def func(x): print('함수 호출됨') print(..
Subset Observation 데이터 시각화를 위해서 상관관계가 있는 데이터들을 가져오는 기법이다. 열(column) 단위 읽기 df['Name'] # 하나의 열만 불러오는 방법이다. df[['Name', 'Score']] # 두 개 이상의 열을 불러올 수도 있다. #tip df.loc[:,['Name','Score','Age']] # 맨마지막꺼 하나 빼고 나머지 칼럼을 다 불러올 때, df.iloc[:,-1] 행으로만 가져오는 방법도 따로 있다. 가장 마지막 코드처럼 df.loc 메소드를 사용하여, 원하는 행을 슬라이싱 하는 방법도 있다. 행(row) 단위 읽기 df.loc['row1'] df.loc[['row2', 'row1']] df.loc['row2', 'Name'] #row2 행과 'Name..
판다스(Pandas)란? 판다스란 panel data system에서 유래했습니다. 패널 데이터는 여러 개체들을 시간을 두고 추적하여 얻는 데이터를 말합니다. 판다스의 특징 Numpt를 내부적으로 활용합니다. 많은 양의 데이터를 로드해서 분석하는데 최적화되어 있습니다. 데이터분석에 특화된 데이터 구조를 제공합니다. 다양한 데이터 분석 함수를 제공합니다. 다른 시스템에 쉽게 연결할 수 있습니다. 데이터프레임(DataFrame) DataFrame:엑셀과 같이, 인덱스(index), 변수(column), 값(value)로 이루어진 구조. 판다스의 특수한 자료형이다. 대용량 데이터를 빠르고 쉽게 다룰 수 있다. Numpy 라이브러리에서 지원하는 수학 및 통계 연산을 그대로 이용할 수 있다. 2차원 구조로 직관적..
데이터 분석을 하는데 행렬 연산을 하는 경우가 종종 있습니다. 먼저 행렬이 무엇인지 그리고 행렬의 꼴에 대해서 먼저 알아보도록 하겠습니다. 괄호 안의 가로 방향의 숫자 1 4 방향을 '행'이라고 하고, 세로 방향의 4 5 6 방향을 '열'이라고 합니다. 그래서 위의 행렬은 2 X 3 행렬이라고 합니다. 그러면 만약 아래와 같은 행렬의 모양은 어떨까요? 맞습니다. 3 X 1 행렬입니다. 만약에 모양이 다른 두 개의 행렬은 더하거나 뺄 수 있을까요? 행렬에서는 불가능한 연산입니다. 행렬의 덧셈과 뺄셈에서는 같은꼴의 행렬끼리만 덧셈과 뺄셈을 할 수 있습니다. 위의 예제는 2X2 행렬끼리의 덧셈을 보여주고 있습니다. 하지만 파이썬 넘파이에서는 꼭 같은 꼴의 행렬이 아니더라도 연산을 할 수 있도록 도와주고 있습니..
3차원 배열 Numpy 라이브러리를 사용하여, 1차원 2차원 배열 말고도 주사위처럼 3차원 배열로도 만들 수 있다. 위의 배열을 파이썬으로 나타내면, import numpy as np a1 = [ [ [10, 11, 12], [13, 14, 15], [16, 17, 18] ], [ [20, 21, 22], [23, 24, 25], [26, 27, 28] ], [ [30, 31, 32], [33, 34, 35], [36, 37, 38] ] ] a1 = np.array(a1) 이런식으로 3차원의 배열을 나타낼 수 있다고 한다. 배열 안에 배열 그리고 또 그 배열 안에 배열이 있는 셈이다. ndim과 shape 메소드를 사용하여 차원과 shape를 확인해 볼 수 있다. a1.ndim 3 a1.shape (3,..
list 리스트로 합과 평균을 만들 때 test = [15, 20, 25] testTotal = sum(test) testAvg = sum(test) / len(test) testAvg 20.0 위와 같은 형식을 따른다. 그리고 만약 여기서 30을 추가하려면, append 메소드를 사용하면 된다. test.append(30) 그런데 만약, 여기서 test의 요소 하나하나를 5씩 더하려고 하면 어떻게 해야 될까? test + 5 --------------------------------------------------------------------------- TypeError Traceback (most recent call last) in () ----> 1 test + 5 TypeError: can..