파이썬 노트정리
- pandas- categories / 판다스 - 카테고리스 2023.03.02
- pandas 2023.02.27
- numpy-슬라이싱 2023.02.23
- numpy-Boolean 인덱싱 2023.02.23
- numpy(넘파이) 2023.02.22
pandas- categories / 판다스 - 카테고리스
pandas
pandas _ python
- Series Class는 1차원 ? 이라고 말함.
인덱스 ( index ) + 값 ( Value)
- data frame class : 2차원?
테이블 (행과 열) 형태로 보기 쉬움.
※ numpy 는 계산에 특화되어 있다면 pandas는 보는 것에? 특화되어 있다고 들음.
import pandas as pd
알리야스는 pd 주로 사용한다.
pop = pd.Series([ 100000,200000,300000,400000])
0 100000
1 200000
3 300000
4 400000
이렇게 지정할 수 있다.
키 : 밸류 값과 같은 개념? 으로 인덱스 번호 대신 키 값을 저장할 수 있다. *지정
pop = pd.Series([100000,200000,300000,400000],
index = ['십만','이십만','삼십만','사십만'])
십만 100000
이십만 200000
삼십만 300000
사십만 400000
이런식으로 나옴.
보통의 데이터와 다르게 pandas는 데이터를 보기 쉽게 컬럼명?을 지정 할 수 있다.
pop.index.name='숫자명'
이렇게 코드를 치면
숫자명
십만 100000
이십만 200000
삼십만 300000
사십만 400000
연산도 가능하다.
pop / 100000
숫자명
십만 1
이십만 2
삼십만 3
사십만 4
이렇게 나옴.
인덱싱도 가능함.
pop[3]
400000
나올거임.
이유는 저장을 안해서 그런다고 생각하면 됨.
pop['십만']
하면 100000 이 나옴.
인덱싱은
pop['십만':삼십만]
하면 인덱싱 번호와는 다르게 키 값은 포함되어서 나옴.
포함하기 때문에 삼십만 , 300000 까지 나옴
'파이썬 노트정리 > pandas' 카테고리의 다른 글
pandas- categories / 판다스 - 카테고리스 (0) | 2023.03.02 |
---|
numpy-슬라이싱
numpy.arange(1,51).reshape(5, 10)
위 코드를 작성하면 아래처럼 결과가 나온다.
array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
[11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
[21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
[31, 32, 33, 34, 35, 36, 37, 38, 39, 40],
[41, 42, 43, 44, 45, 46, 47, 48, 49, 50]])
reshape는 세로 5, 가로 10이 나온다.
(파이썬에서 .reshape 는 키워드? 테이블의 모양을 만들수 있다. (.) 쩜. 있어야한다.
.reshape(행,열 ).reshape(행,열) <- 이런식으로 여러번 쓸 수 있다. 의미는 없고. 마지막으로 지정한 값으로 나온다.
행열 이라고 하는데, 행열은 가로 세로를 뜻하면
가로가 5줄 세로가 10줄이라고 생각할 수 있는데.
행으로 가는것이 5개라고 생각하면 헷갈림에서 벗어날 수 있다.
한 번 잘못 헷갈리는 순간 빠져나오기 힘든 사고 방식이 생기니.
감각적으로 외우는 것이 좋을거같다.
위에 2차원 배열(테이블같이 생긴거)을 변수명 [arr]으로 지정하주고.
23번과 38번을 뽑으려면
[ [행, 행] , [열, 열] ]
위의 공식을 이용하면 된다고 한다.
※ (: 클론) > 클론은 시작값 : 끝값이니 쓰지않고.
( , 쉼표)를 사용한다. 왜? > 한 개만 뽑으니까.
arr [ [2,3] , [2,7] ]
이런식으로 하면
23, 38을 뽑을 수 있다.
numpy-Boolean 인덱싱
- Boolean : True/False
- True 값은 출력
- Faslse 값은 출력하지 않음
- 조건에 해당하는 (True)인 값들만 출력할 때 사용 > 필터링
- 조건에 해당하는 값이 존재하는지 파악할 때 사용
sum : 합계
mean : 평균
abs : 절대값
등이 있다. 평균은 보통 average가 있는거같은데,
영어에서 숫자 같은 수학적의미의 평균은
mean으로 쓰여 파이썬에서도 mean을 쓰는것같다.
찾아보니 mean 말고도 median 메디안?이라고 중간값이 있다.
Tip.
테이블 회전하는법.
테이블명.T
numpy(넘파이)
- 파이썬 자료형 list 와 비슷함 ( 같다는 것은 아니고)
- 빠르고 효율적인 산술연산을 함
- 반복문 없고 전체 데이터 배열 연산이 가능함.
1. numpy (넘파이)라고 읽는다.
라이브러리에서 import 한다.
import numpy as np
보통 as( alis:알리야스) 라는 별칭을 이용해 np 라고 많이 쓰는 듯.
2. numpy.array
2. numpy는 N차원의 형태로 구성이 가능하다.
(index:인덱스)가 부여되어있다. 그 말은 순서가 있다는 말이기에
인덱싱과 슬라이싱이 가능하다.
( 숫자 시작 : 숫자 미만 )
list1 = [1,2,3,4,5]
list1
# 이렇게 나온듯 >> [1, 2, 3, 4, 5]
array1 = np.array(list1)
array1
#이렇게 나온듯 >> array([1, 2, 3, 4, 5])
array1+array1
#이렇게 나온듯 >> array([ 2, 4, 6, 8, 10])
배열과 배열이 더해진다.
자바에서 할 수 있었는지 모르겠다.
3. numpy.full
# numpy.full
# 풀 이런 것은.. 채우다? 라고 한다.
np_full = numpy.full((5,5), 3)
변수명 = 넘피. 풀 (2차원 배열 숫자) , 채울 숫자)
array([[3, 3, 3, 3, 3],
[3, 3, 3, 3, 3],
[3, 3, 3, 3, 3],
[3, 3, 3, 3, 3],
[3, 3, 3, 3, 3]])
4. numpy - shape (모양)
배열(테이블) 모양을 다시 설정할 수 있다.
대신 데이터의 갯수가 같아야 된다고 한다.
세로 4개, 가로 5개인 2차 배열 (테이블이라고해야하나?)
컬럼, 로우, 종, 횡 을 헷갈리지만..
[3, 3, 3, 3, 3],
[3, 3, 3, 3, 3],
[3, 3, 3, 3, 3],
[3, 3, 3, 3, 3],