Python 52

[pandas] - 데이터프레임 연결하기 , concat / merge

데이터프레임을 연결할 때는 concat 과 merge 함수를 이용한다. concat( ) 데이터를 위아래로 연결할 때에는 concat() 을 이용한다. 아래에 데이터프레임 df1과 df2가 있다. pd.concat() 을 이용할 때 괄호 안에는 연결할 데이터프레임을 리스트로 작성하면 된다. df1 아래에 df2 를 연결하려면 pd.concat( [ df1, df2 ] ) 로 작성을 하면된다. 여러개의 데이터프레임을 연결할 수도 있다. 아래의 예시처럼 데이터프레임 3개를 연결하고자 한다면, 리스트 안에 세개의 데이터프레임을 넣어주면 된다. merge( ) merge() 는 데이터프레임을 옆으로 연결하고 싶을 때 사용하는 함수이다. 두 데이터프레임의 공통 컬럼 (연결고리)이 있으면, 이 컬럼을 기준으로 해서..

Python 2022.11.25

[Pandas] - 유일한 값 찾기 unique(), nunique(), value_counts()

unique() unique()는 데이터에서 고유한 값들이 어떠한 종류를 가지고 있는 알고 싶을 때 사용하는 함수이다. 아래와같은 데이터프레임이 있을 때 'taster_name' 이라는 컬럼의 고유한 값들을 출력한 결과이다 nunique() nunique() 는 고유한 값들의 갯수를 세어주는 함수이다. value_counts() value_counts() 는 값별로 데이터의 수를 출력해주는 함수이다. 아래의 예시처럼 'taster_name' 컬럼의 고유한 값들의 데이터를 출력해준다.

Python 2022.11.25

[Pandas] - 데이터 정렬하기 , sort_values

데이터프레임에서 데이터를 정렬할 때는 sort_values 를 이용한다. 오름차순 오름차순 정렬은 sort_value 함수에 ascending= True 라고 해주면 된다. 여기서 ascending= True 는 디폴트 값이기 때문에 생략이 가능하다. 아래 예시를 보자. 아래 데이터 프레임에서 Years of Experience 를 오름차순으로 정렬하고자 한다면, 데이터프레임명.sort_value( '컬럼명', ascending= True ) 이라고 적어주면 된다 ==> df.sort_values('Years of Experience', ascending= True) 내림차순 내림차순 정렬은 ascending 값만 False 로 변경해주면 된다. 작성하면 df.sort_values('Years of Ex..

Python 2022.11.25

[Pandas] - apply 함수, str 라이브러리

데이터프레임을 효율적으로 다루기 위해서는 apply 함수와 str 라이브러리가 필요하다. 아래와같은 데이터프레임에서 Employee Name 의 이름의 문자 갯수를 구해서 새로운 컬럼에 저장하는 예시이다. apply 함수 apply 함수는 데이터프레임 전체에 함수를 적용하고 싶을 때 이용하면 된다. 글자수를 구하는 함수는 len() 함수이다. 이 함수를 데이터프레임에 적용하고자 한다면, 데이터프레임의 컬럼을 가져온 후 apply()를 사용한다. 괄호 안에는 적용하고 싶은 함수의 이름만 써준다. df['Employee Name'].apply(len) 으로 적으면 이름의 문자 갯수를 각 열별로 리턴해준다. str 라이브러리 str 라이브러리를 이용하여 'Employee Name' 컬럼의 문자 갯수를 구하는 ..

Python 2022.11.25

[Pandas] - groupby() / 특정 데이터에 접근

groupby( ) 데이터프레임에서 카테고리별로 묶어서 값을 나타내고싶다면 groupby() 를 이용하면 된다. 같은 년도의 연봉의 합을 구해라 라는 문제가 있다면, 먼저 'Year' 컬럼을 동일한 값들끼리 카테고리를 나눠주기 위해서 df.groupby('Year')을 해준다. 다음은 묶은 년도의 Salary 컬럼에 접근을 할 것이다. df.groupby('Year')['Salary'] 라고 해주면 된다. 그 후 최종 목표인 Salary의 합을 구해준다. df.groupby('Year')['Salary'].sum() 을 하면 각 카테고리별로 묶은 Salary의 합을 출력해준다. 각 이름별로의 연봉 평균을 구하고자 할 때도 위와 동일한 방법으로 groupby 를 이용하여 하나씩 접근을 하면 된다. mean..

Python 2022.11.24

[Pandas] - Dataframe 의 NaN 값 다루기

데이터프레임에서 비어있는 데이터는 NaN 으로 채워지게 된다. NaN을 다루는 방법을 알아보자. df.isna( ) 데이터프레임에서 NaN이 어느자리에 있는지 나타낼 때는 isna( ) 함수를 사용한다. NaN이 들어있는 자리는 True로 출력되고, 데이터가 채워져있는 자리는 False로 출력된다. df.notna( ) notna( ) 는 isna( ) 의 반대 함수이다. 데이터가 들어있는 자리는 True가 출력되고, NaN이 들어있는 자리는 False로 출력이 된다. NaN을 처리하는 전략 NaN을 처리하는 전략에는 크게 세가지 방법이 있다. 1. 삭제하기 2. 특정 값으로 채우기 3. 비어있는 데이터의 위 행의 데이터, 아래행의 데이터로 채우기 or 왼쪽 열의 데이터, 오른쪽 열의 데이터로 채우기 1..

Python 2022.11.24

[Pandas] - csv 파일 가져오기

csv파일을 불러오는 방법이다. 아래처럼 winemag-data_first150k.csv 파일을 불러오기 위해서는 pd.read_csv 파일을 이용하여야한다 csv파일을 부르면 첫 컬럼에 Unnamed: 0 이라는 데이터 컬럼이 생긴다. 이 데이터는 이전 데이터프레임을 csv 파일로 저장하기 전의 인덱스 값이다. 그렇기 때문에 csv 파일을 불러올 때는 Unnamed: 0 의 데이터를 인덱스값에 넣어줘야한다. 그럴 때는 index_col= 을 이용하면 된다. index_col= 0 또는 index_col= 'Unnamed: 0' 라고 입력해주면 아래처럼 깔끔하게 데이터프레임을 불러올 수 있다. 상위 데이터 5개만 가져와서 보기 상위 데이터 다섯개만 가져와서 보는 방법은 head() 함수를 이용한다. 만약..

Python 2022.11.24

[Pandas] - Dataframe 다루기 , 접근 / 컬럼 추가 / 삭제

데이터프레임을 이용할 때는 import pandas as pd 를 사용하여서 padas 모듈을 호출하여야 한다. 데이터프레임의 데이터에 접근하기 아래처럼 df 라는 이름의 데이터프레임 있을 때, 데이터에 접근 하는 방법은 다양하다. - df에 있는 pants의 30 데이터에 접근하기 1. 먼저 컬럼으로 접근하는 방법이다. 데이터프레임이름[ '접근하고자 하는 컬럼명 ' ] 을 입력하면 컬럼명에 해당하는 데이터들이 나온다. 그 중 원하는 데이터를 뽑고자 한다면 슬라이싱 해주면 된다. df[ 'pants' ][0] 을 해주면 30이 리턴된다. 2. .loc[ ] 로 접근하기 .loc[ ] 는 컬럼명과 인덱스 명을 입력하여서 접근하는 방법이다 대괄호 안에는 [ 컬럼명, 인덱스 명 ] 을 입력해준다. df.loc..

Python 2022.11.24

Numpy 활용하기

numpy 라이브러리란 ? 데이터를 효율적으로 저장할 수 있는 data structure 이다. numpy 는 다차원 배열을 처리할 수 있는 선형대수학(Linear Algebra) 라이브러리이다. 넘파이 라이브러리를 호출할 때는 import numpy as np 를 이용한다. 넘파이를 1차원 배열로 만들고자 한다면 np.array()를 이용하여 괄호 안에 리스트를 넣어주면 된다. 여기서 1차원 배열은 벡터라고 부른다. 2차원 배열을 만들 때는 행렬 형식으로 데이터를 넣어준다. 2차원 배열은 행렬이라고 부른다. 넘파이의 데이터를 저장하려면 np.save( 저장할 이름, array 데이터가 들어있는 변수명 ) 을 입력해주면 된다. 저장된 데이터를 불러올 때는 np.load() 함수를 이용한다. 괄호안에는 불..

Python 2022.11.22

메모리 영역 - 메모리 , 스택 ( stack ) , 코드 영역

메모리 영역에 대해서 간단하게 알아보자! 먼저 영역은 크게 세가지가 있다. 메모리 영역, 스택영역, 코드영역 이 영역들을 그림으로 표현하면 아래와 같다. ---------------- 메모리 ------------------ ----------------- stack ----------------- ----------------- 코드 ----------------- 아래의 코드를 실행할 경우 코드들이 어떻게 돌아가고 메모리 영역에 어떤식으로 저장되고 삭제되는지에 대해서 알아보려고 한다 먼저 result = 100 은 result 변수에 100이라는 데이터를 저장한 것이기 때문에 메모리 영역에 저장이 된다. ---------------- 메모리 ------------------ result : 100 -..

Python 2022.11.22