본문 바로가기
반응형

전체 글387

[파이썬 판다스] 데이터프레임 각 열의 개수,평균,표준편차,최댓값,최솟값,분위수 출력 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 각 열의 개수,평균.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임 행 방향으로 누적값 계산 (cumsum) 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 행 방향으로 누적값.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임 열별 최댓값이 들어있는 행을 출력 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 각 열별로 최댓값이.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임 행별 평균 구하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 열 별 합을 구해봅.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임 열별 평균 구하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 열 별 평균을 구해.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임 행별 합 구하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 열 별 합을 구해봅.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임 열별 합 구하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.365426 0.376201 0.644952 0.642808 R2 0.824492 0.194468 0.876285 0.700862 R3 0.926402 0.327502 0.481516 0.087809 열 별 합을 구해봅.. 2022. 1. 4.
[파이썬 판다스] 시리즈 행 이름 중복 여부 확인 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 시리즈를 생성합다. 행의 이름을 아래와 같이 입력합니다. >>> sr1=pd.Series(np.random.rand(5),index=['R1','R1','R2','R3','R4']) >>> sr1 R1 0.450499 R1 0.276244 R2 0.263212 R3 0.799937 R4 0.255633 dtype: float64 행 이름에 중복이 있는지 알아봅시다. index.is_unique 메소드를 사용합니다. False가 나오면 중복이 있는 것입니다. >>> sr1.index.is_uniqu.. 2022. 1. 4.
[파이썬 판다스] 데이터 프레임 행별 원소 순위(rank) 출력하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합니다. 행과 열의 이름을 아래와 같이 입력합니다. df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.317600 0.876055 0.027170 0.098733 R2 0.092537 0.582459 0.079630 0.913807 R3 0.470795 0.179732 0.905553 0.757245 행별 원소의 순위(ran.. 2022. 1. 4.
[파이썬 판다스] 데이터 프레임 열별 원소 순위(rank) 출력하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합니다. 행과 열의 이름을 아래와 같이 입력합니다. df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.317600 0.876055 0.027170 0.098733 R2 0.092537 0.582459 0.079630 0.913807 R3 0.470795 0.179732 0.905553 0.757245 열별 원소의 순위(ran.. 2022. 1. 4.
[파이썬 판다스] 시리즈 원소의 순위(rank) 출력하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 시리즈를 생성합니다. sr1=pd.Series(np.random.rand(5)) >>> sr1 0 0.230081 1 0.676289 2 0.867322 3 0.680876 4 0.098489 dtype: float64 시리즈 원소의 순위(rank) 출력해봅시다. rank 메소드를 사용합니다. >>> sr1.rank() 0 2.0 1 3.0 2 5.0 3 4.0 4 1.0 동률(tie) 처리 옵션은 아래와 같습니다. method=' ' 형태로 입력합니다. 디폴트는 average입니다. 예를들어 공.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임을 특정 열의 값 크기 순으로 정렬하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합니다. 행과 열의 이름을 아래와 같이 입력합니다. df1=pd.DataFrame(np.random.rand(3,4),index=["R1","R2","R3"],columns=["C1","C2","C3","C4"]) >>> df1 C1 C2 C3 C4 R1 0.648971 0.240321 0.387624 0.602800 R2 0.557481 0.090147 0.742283 0.668202 R3 0.014178 0.482729 0.444863 0.656445 C3행의 값 크기 순으로.. 2022. 1. 4.
[파이썬 판다스] 시리즈를 값 크기 순으로 정렬하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 시리즈를 생성합니다. >>> sr1=pd.Series(np.random.rand(5)) >>> sr1 0 0.263950 1 0.830847 2 0.731628 3 0.424860 4 0.427524 dtype: float64 값의 크기 순으로 정렬해봅시다. sort_values 메소드를 이용합니다. >>> sr1.sort_values() 0 0.263950 3 0.424860 4 0.427524 2 0.731628 1 0.830847 dtype: float64 역순 정렬은 ascending=Fa.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임을 열의 이름 순으로 정렬하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합니다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R3","R1","R2"],columns=["C2","C3","C1","C4"]) >>> df1 C2 C3 C1 C4 R3 0.489523 0.234162 0.050091 0.333715 R1 0.378797 0.245567 0.407612 0.033149 R2 0.509813 0.613097 0.032658 0.489478 열 이름의 순서대.. 2022. 1. 4.
[파이썬 판다스] 데이터프레임을 행의 이름 순으로 정렬하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 데이터프레임을 생성합니다. 행과 열의 이름을 아래와 같이 입력합니다. >>> df1=pd.DataFrame(np.random.rand(3,4),index=["R3","R1","R2"],columns=["C2","C3","C1","C4"]) >>> df1 C2 C3 C1 C4 R3 0.489523 0.234162 0.050091 0.333715 R1 0.378797 0.245567 0.407612 0.033149 R2 0.509813 0.613097 0.032658 0.489478 행 이름의 순서대.. 2022. 1. 4.
[파이썬 판다스] 시리즈의 행 이름 순으로 정렬하기 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 시리즈를 생성합니다. 행이름을 아래와 같이 입력합니다. >>> sr1=pd.Series(np.random.rand(5),index=[3,4,5,1,2]) >>> sr1 0 0.680026 1 0.440253 2 0.852054 3 0.149469 4 0.541459 dtype: float64 행 이름의 순서대로 정렬해봅시다. sort_index 메소드를 사용합니다. >>> sr1.sort_index() 1 0.510453 2 0.250086 3 0.707971 4 0.967175 5 0.33254.. 2022. 1. 3.
[파이썬 판다스] 시리즈의 각 원소에 원하는 함수 적용하기 (map메소드) 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 배열을 생성합니다. 생성한 배열로 시리즈를 생성합니다. >>> sr1=pd.Series(np.random.rand(5)) >>> sr1 0 0.680026 1 0.440253 2 0.852054 3 0.149469 4 0.541459 dtype: float64 각 원소에 루트를 씌워보겠습니다. map 메소드를 사용합니다. 물론 np.sqrt 함수를 바로 적용해도 되지만 map 사용법을 익혀야 하므로 아래와 같이 적용하겠습니다. >>> sr1.map(np.sqrt) 0 0.824637 1 0.663515 2 0.923068 3 0... 2022. 1. 3.
[파이썬 판다스] 데이터프레임 각 원소에 원하는 함수 적용하기 (applymap메소드) 판다스 패키지와 넘파이 패키지를 불러옵니다 import pandas as pd import numpy as np np.rand.rand 함수를 이용하여 0~1 사이 균등분포에서 3행 3열의 배열을 생성합니다. 생성한 데이터로 데이터프레임을 생성합니다. df1=pd.DataFrame(np.random.rand(3,3),columns=['C1','C2','C3'],index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 0.597113 0.179698 0.777803 R2 0.839905 0.320484 0.658779 R3 0.764895 0.077434 0.031356 각 원소에 루트를 씌워보겠습니다. applymap 메소드를 사용합니다. 물론 np.sqrt 함수를 바로 적용해도 되.. 2022. 1. 3.
[파이썬 판다스] 데이터프레임 행에 원하는 함수 적용하기 (apply메소드) 판다스 패키지를 불러오고 데이터프레임을 하나 정의합니다. import pandas as pd df1=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],columns=['C1','C2','C3'],index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1 2 3 R2 4 5 6 R3 7 8 9 각 행에 max 함수를 적용해봅시다. apply 메소드를 사용합니다. axis='columns' 옵션을 적용해야 합니다. 열방향이라는 뜻이고, 열이 진행되는 방향인 좌->우 로 함수가 적용되므로 행에 적용되는 것과 같습니다. >>> df1.apply(max,axis='columns') R1 3 R2 6 R3 9 dtype: int64 2022. 1. 3.
[파이썬 판다스] 데이터프레임 열에 원하는 함수 적용하기 (apply메소드) 판다스 패키지를 불러오고 데이터프레임을 하나 정의합니다. import pandas as pd df1=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],columns=['C1','C2','C3'],index=['R1','R2','R3']) >>> df1 C1 C2 C3 R1 1 2 3 R2 4 5 6 R3 7 8 9 각 열에 max 함수를 적용해봅시다. apply 메소드를 사용합니다. >>> df1.apply(max) C1 7 C2 8 C3 9 dtype: int64 2022. 1. 3.
[파이썬] 람다함수 (익명함수) 람다함수는 간단하게 정의하는 함수입니다. 익명함수라고도 부르는데 함수 이름이 없어도 되기 때문입니다. 물론 이름을 지정할 수도 있습니다. 두 수를 더하는 함수를 만든다고 할 때 기존 방식은 아래와 같습니다. 함수 이름은 my_sum 으로 하겠습니다. def my_sum(x,y) : return x+y >>> my_sum(3,10) 13 람다 함수를 사용하면 아래와 같습니다. >>> (lambda x,y:x+y)(3,10) 13 람다 함수에 함수 이름을 부여하여 사용해봅시다. 변수를 하나 부여하면 됩니다. >>> my_sum2=lambda x,y:x+y >>> my_sum2(3,10) 13 2022. 1. 3.
[파이썬 판다스] 데이터프레임 절댓값 씌우기 넘파이와 판다스를 불러옵니다. import numpy as np import pandas as pd 데이터프레임을 하나 정의합니다. >>> df1=pd.DataFrame([[-1,-2,-3],[4,5,6]]) >>> df1 0 1 2 0 -1 -2 -3 1 4 5 6 절댓값을 구해봅시다. 넘파이의 np.abs 함수를 쓰면됩니다. 호환이 됩니다. >>> np.abs(df1) 0 1 2 0 1 2 3 1 4 5 6 2021. 12. 30.
[파이썬 판다스] 데이터프레임과 시리즈의 연산 데이터프레임과 시리즈를 연산하면, 데이터프레임의 각 행이 시리즈와 연산됩니다. 열이랑 연산되야 더 납득가능한 것 같은데, 아무튼 행과 연산됩니다. 데이터프레임 하나와 시리즈 하나를 정의해봅시다. import pandas as pd df1=pd.DataFrame([[1,2,3],[4,5,6]],columns=['C1','C2','C3'],index=['R1','R2']) >>> df1 C1 C2 C3 R1 1 2 3 R2 4 5 6 s1=pd.Series([100,200,300],index=['C1','C2','C3']) >>> s1 C1 100 C2 200 C3 300 dtype: int64 둘을 더해봅시다. >>> df1+s1 C1 C2 C3 R1 101 202 303 R2 104 205 306 각 행.. 2021. 12. 30.
[파이썬 판다스] 데이터프레임 사칙연산 메소드 모음 데이터프레임끼리 연산을 할 때 + - * / 를 이용할 수도 있지만 메소드를 이용하면 fill_value 옵션을 사용할 수 있습니다. 한쪽에만 인덱스가 있는 경우 연산자를 이용한 연산을 하면 NaN 이 채워지는데, fill_value 옵션을 이용하면 해당 값으로 채울 수가 있습니다. 데이터프레임 사칙연산 메소드는 아래와 같습니다. 연산 메소드 역연산 메소드 덧셈 add radd 뺄셈 sub rsub 나눗셈 div rdiv 몫 floordiv rfloordiv 곱셈 mul rmul 거듭제곱 pow rpow 2021. 12. 30.
[파이썬 판다스] 데이터프레임의 사칙연산 (+빈 곳 채우는 법) 판다스를 불러옵니다. import pandas as pd 데이터프레임을 두개 정의합니다. df1=pd.DataFrame([[1,2,3],[4,5,6]],columns=['C1','C2','C3'],index=['R1','R2']) >>> df1 C1 C2 C3 R1 1 2 3 R2 4 5 6 df2=pd.DataFrame([[10,20,30],[40,50,60]],columns=['C1','C2','C4'],index=['R1','R3']) >>> df2 C1 C2 C4 R1 10 20 30 R3 40 50 60 일부러 인덱스를 약간 다르게 정의했습니다. 두 데이터프레임을 합해봅시다. >>> df1+df2 C1 C2 C3 C4 R1 11.0 22.0 NaN NaN R2 NaN NaN NaN NaN R3 .. 2021. 12. 30.
[파이썬 판다스] 리스트를 이용하여 데이터프레임 정의하기 판다스를 불러옵니다. import numpy as np import pandas as pd 리스트를 하나 정의합니다. L1=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]] >>> L1 [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]] 리스트를 이용하여 데이터프레임을 정의합니다. df=pd.DataFrame(L1,columns=['C1','C2','C3'],index=['R1','R2','R3','R4']) >>> df C1 C2 C3 R1 1 2 3 R2 4 5 6 R3 7 8 9 R4 10 11 12 2021. 12. 30.
[파이썬 판다스] 시리즈의 사칙연산 판다스를 불러옵니다. import pandas as pd 시리즈를 두개 정의합니다. >>> s1=pd.Series([1,2,3,4,5],index=['a','b','c','f','g']) >>> s1 a 1 b 2 c 3 f 4 g 5 dtype: int64 >>> s2=pd.Series([10,20,30,40,50],index=['a','c','d','e','g']) >>> s2 a 10 c 20 d 30 e 40 g 50 dtype: int64 일부러 인덱스를 약간 다르게 정의했습니다. 두 시리즈를 합해봅시다. >>> s1+s2 a 11.0 b NaN c 23.0 d NaN e NaN f NaN g 55.0 dtype: float64 두 시리즈 모두에 있는 인덱스에서만 연산이 수행됩니다. 같은 인덱스.. 2021. 12. 30.
[파이썬 판다스] 데이터 프레임에서 특정 열의 특정 행에 접근하기 (인덱스 이용) 판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic,index=['R1','R2','R3','R4','R5']) >>> data1 이름 성별 나이 R1 이호정 남 25 R2 이정진 남 45 R3 이기호 남 72 R4 정희진 여 25 R5 이나리 여 37 성별 열의 R2와 R4 행에 접근해봅시다. >>> data1.iloc[[1,3],1] R2 남 R4 여 Name: 성별, dtype: object 이름과 나이 열의 R.. 2021. 12. 30.
[파이썬 판다스] 데이터 프레임에서 특정 열의 특정 행에 접근하기 (행,열 이름으로 접근) 판다스를 불러옵니다. import pandas as pd 먼저 딕셔너리를 정의합니다. dic={'이름':['이호정','이정진','이기호','정희진','이나리'], '성별':['남','남','남','여','여'], '나이':[25,45,72,25,37] } 딕셔너리를 이용하여 데이터프레임을 정의합니다. data1=pd.DataFrame(dic,index=['R1','R2','R3','R4','R5']) >>> data1 이름 성별 나이 R1 이호정 남 25 R2 이정진 남 45 R3 이기호 남 72 R4 정희진 여 25 R5 이나리 여 37 성별 열의 R2와 R4 행에 접근해봅시다. >>> data1.loc[['R2','R4'],'성별'] R2 남 R4 여 Name: 성별, dtype: object 이름과.. 2021. 12. 30.
[파이썬 판다스] 데이터 프레임에서 특정 값을 기준으로 0과 1로 바꾸기 넘파이와 판다스를 불러옵니다. import numpy as np import pandas as pd 배열을 하나 정의합니다. ar=np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]]) >>> ar array([[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9], [10, 11, 12]]) 배열을 이용하여 데이터프레임을 정의합니다. df=pd.DataFrame(ar,columns=['C1','C2','C3'],index=['R1','R2','R3','R4']) >>> df C1 C2 C3 R1 1 2 3 R2 4 5 6 R3 7 8 9 R4 10 11 12 5을 기준으로 5보다 같거나 큰 값은 1로, 5보다 작은 값은 0으로 바꿔봅시다. 먼저 5보다 작은 값을 0으.. 2021. 12. 30.
반응형