본문 바로가기
  • 콩's 코딩노트

Python57

33. 라이브러리( Library )- 판다스 ( Pandas ) (2) : 데이터프레임 (DataFrame) / NaN 이란? / csv 파일 저장&불러오기 판다스의 2차원 배열을 데이터프레임이라고 부른다. 데이터프레임에 데이터를 넣고 실행시키면 아예 도표가 출력된다. 도표의 왼쪽 진한 글자는 인덱스 또 다른 말로는 레이블이라고 부른다. (리스트의 인덱스랑은 다르다.) 위쪽의 진한 글자는 컬럼 (열) ! 안에 있는 데이터는 밸류이다. index, columns, values 함수로 각 부분을 확인할 수 있다. NaN 이란 해당 항목에 값이 아예 없다는 것을 말한다. NaN도 데이터는 없지만 공간은 있는 걸로 인식한다. read_csv( )로 불러올 수 있다. 파라미터 값은 불러올 파일이름을 입력한다. 저장은 to_csv( ) 저장할 수 있다. 파라미터 값은 저장할 파일 이름을 입력한다. 저장 경로는 현재 jupyter 폴더 경로이다. 2022. 4. 28.
32. 라이브러리( Library )- 판다스 ( Pandas ) (1) : 판다스(Pandas)란?Series 데이터 생성 / 1차원 판다스(시리즈)의 데이터 억세스 / 판다스의 산술 연산 앞서 접해본 넘파이는 기존 리스트에 비해 다차원 배열로 데이터를 직관적으로 확인하기에는 좋아졌지만, 데이터를 관리하고 가공하는 것에는 아직 어려움이 많았고 컴퓨터 친화적인 라이브러리였다. 그래서 좀 더 사용자 친화적이고 데이터를 관리하기에 용이한 판다스를 알아보자. 특징을 몇 가지 살펴보면 데이터 구조 안에 데이터들의 통계 데이터를 기본적으로 제공하고 NaN(데이터 없음) 을 알아서 처리할 수 있으며 숫자 문자열을 알아서 로드하는 등 넘파이를 기반으로 두고 사용자 친화적으로 변한 라이브러리이다. 판다스에서의 1차원 배열, Series(시리즈) 를 알아보자. 위 이미지를 보면 넘파이의 1차원 배열, 벡터와 판다스의 시리즈 1차원 배열, 시리즈는 그 근본부터 큰 차이가 있는데 우리가 그동안 알고 있던 인덱스.. 2022. 4. 28.
31. 라이브러리( Library )- 넘파이 ( NumPy ) (4) : 슬라이싱(Slicing) / 중복값 제거/ Boolean 연산 / 다차원 배열 연산 / 브로드캐스팅 1차원 배열에서의 슬라이싱은 리스트에서 슬라이싱 하던 방식이랑 똑같이 인덱스 번호로 슬라이싱하면 된다. 특정 부분만 슬라이싱 해오는 방법이다. 행과 열을 고려해 지금까지 해오던 슬라이싱을 , 콤마로 하나 더 작성하면 된다. 데이터 값 변경은 원하는 데이터의 인덱스 번호로 변수 지정하듯 직접 입력하면 된다. 다만 주의할 점은 인덱스 입력 시 , 콤마를 써야한다는 것이다. 아무 생각 없이 : 을 쓰면 그 인덱스 범위만큼 데이터가 한번에 수정되는 대참사가 일어난다... 기본 파이썬에서 데이터의 중복값을 제거할 때에는 set 데이터의 특징을 이용해서 중복값을 제거하고 다시 리스트를 만드는 방법을 썼지만, 넘파이에서는 unique 함수를 사용해 중복값을 한번에 제거할 수 있다. 파라미터 값에는 중복을 없앨 데이터.. 2022. 4. 27.
30. 라이브러리( Library )- 넘파이 ( NumPy ) (3) : 데이터의 최댓값, 최솟값 그리고 인덱스 / 데이터 불러오기, 삭제, 삽입 max 와 min 은 파이썬의 함수와 같다. 다른 점은 변수를 괄호 안에 파라미터로 사용하지 않고 X(넘파이).max 처럼 뒤에 붙여 사용하는 차이점이 있다. 최댓값, 최솟값의 인덱스를 구하는 함수는 argmax 함수와 argmin 함수로 구할 수 있다. 각 행열 별로 구하고 싶을 때는 argmax 함수와 argmin 함수의 파라미터 값에 axis = 0, 1 로 행과 열을 정해주면 된다. 1차원 배열에서의 데이터 억세스는 리스트와 같은 방식으로 인덱스를 입력하면 된다. 다차원 배열에서 인덱스 접근도 가능하다. 다만 직관적이지 않은 편이다. 다시 리스트처럼 생각하고 인덱스를 입력해야한다. 항목 삭제는 delete 함수를 이용한다. delete(a, b) 파라미터 값에는 a = 삭제할 변수 ,b = 삭제할.. 2022. 4. 27.
29. 라이브러리( Library )- 넘파이 ( NumPy ) (2) : 빈 기본 행렬 만들기 / arange 함수 / reshape 함수 / 랜덤 값 배열 / 정규분포 (가우시안 분포) 빈 기본 행렬을 만드는 다양한 방법에 대해 알아보자. 먼저 zeros 함수를 보면 0으로 채워진 데이터를 만들 수 있다. 이 때 0뒤에 .가 있는 것으로 보아 기본적으로 실수로 생성되는 것을 알 수 있다. ones 함수로 1로 채워진 데이터도 만들 수 있다. 아예 임의로 지정한 특정 값으로 채울 수도 있다. 파이썬에서 range 함수로 정수의 배열을 얻었던 것처럼 넘파이에서는 arange 함수로 정수의 배열을 얻을 수 있다. 실수의 배열을 얻고자 할 때에는 linspace 함수를 사용하면 된다. 파라미터 값은 ( a, b, c, d) 중에 a ~ b 까지 수의 범위 중에 c 개의 함수를 가져오고 d는 끝의 수를 가져올지 말지 정할수 있다. 가장 많이 사용하게될 함수 중 하나인 reshape 함수에 대해 .. 2022. 4. 27.
28. 라이브러리( Library )- 넘파이 ( NumPy ) (1) : 넘파이 기초 / 배열의 이해 / array 생성 / 2차원 배열 / save & load 넘파이 라이브러리는 기존 파이썬의 리스트 데이터같이 단순한 데이터 구조가 아니고 1차원, 2차원, 3차원의 다차원적인 배열을 처리할 수 있는 라이브러리이다. 넘파이 데이터의 구조를 shape 라고 부른다. 각 쉐이프의 구조를 보면 모두 튜플로 만들어져있고 각 콤마로 축을 표현하고 있다. 축마다 데이터 수를 뜻한다. import numpy 로 불러오고 보통 as np로 줄여서 np로 사용한다. 기존의 리스트로 배열을 만들 때는 array함수로 만들 수 있다. 이 때, 꼭 변수를 지정해줘야 사용할 수 있다. 넘파이에는 shape 함수로 몇 차원 배열인지 확인할 수 있다. 리스트에는 확인할 수 있는 그런거 없다. 데이터가 [ ]로 둘러싸여있으면 리스트다. 리스트 데이터 타입을 확인할 때는 type함수, 넘파이.. 2022. 4. 27.