[파이썬 강의] 96. 판다스 시리즈의 평균,표준편차,최댓값,최솟값
리즈를 하나 정의합시다. >>> import pandas as pd >>> s1=pd.Series([1,2,3,4,5]) >>> s1 0 1 1 2 2 3 3 4 4 5 dtype: int64 평균,표준편차,최댓값,최솟값을 구해봅시다. 코드 평균 >>> s1.mean() 3.0 표준편차 >>> s1.std() 1.5811388300841898 최댓값 >>> s1.max() 5 최솟값 >>> s1.min() 1
2021. 11. 30.
[파이썬 강의] 92. 시리즈(Series)의 행 삭제
시리즈를 하나 정의해봅시다. 데이터, 행이름(index), 열이름(name) 순서로 입력합니다. 데이터는 리스트 형태로 입력해줍니다. >>> import pandas as pd >>> s1=pd.Series([1,2,3,4,5],index=['A','B','C','D','E'],name='my data') >>> s1 A 1 B 2 C 3 D 4 E 5 Name: my data, dtype: int643 원소를 삭제할 때는 del명령어 또는 drop 메소드를 사용합니다. del 명령어 이용 A행을 삭제해봅시다. >>> del s1['A'] >>> s1 B 2 C 3 D 4 E 5 Name: my data, dtype: int64 drop 메소드 이용 D행을 삭제해봅시다. >>> s1.drop('D') B..
2021. 11. 24.
[파이썬 강의] 91. 시리즈(Series)의 원소 수정
시리즈를 하나 정의해봅시다. 데이터, 행이름(index), 열이름(name) 순서로 입력합니다. 데이터는 리스트 형태로 입력해줍니다. >>> import pandas as pd >>> s1=pd.Series([1,2,3,4,5],index=['A','B','C','D','E'],name='my data') >>> s1 A 1 B 2 C 3 D 4 E 5 Name: my data, dtype: int643 1) 행이름을 이용한 수정 >>> s1['A']=10 >>> s1 A 10 B 2 C 3 D 4 E 5 Name: my data, dtype: int64 2) 인덱스를 이용한 수정 >>> s1[0]=100 >>> s1 A 100 B 2 C 3 D 4 E 5 Name: my data, dtype: int64
2021. 11. 23.
[파이썬 강의] 90. 시리즈(Series)의 행 이름 수정
시리즈를 하나 정의해봅시다. 데이터, 행이름(index), 열이름(name) 순서로 입력합니다. 데이터는 리스트 형태로 입력해줍니다. >>> import pandas as pd >>> s1=pd.Series([1,2,3,4,5],index=['A','B','C','D','E'],name='my data') >>> s1 A 1 B 2 C 3 D 4 E 5 Name: my data, dtype: int643 행 이름 하나를 수정하려고 시도해봅시다. >>> s1.index[0]='AA' Traceback (most recent call last): File "", line 1, in s1.index[0]='AA' File "C:\Users\Jihun\AppData\Local\Programs\Python\Pyt..
2021. 11. 22.
[파이썬 강의] 89. 시리즈(Series)의 행 순서 변경
시리즈를 하나 정의해봅시다. 데이터, 행이름(index), 열이름(name) 순서로 입력합니다. 데이터는 리스트 형태로 입력해줍니다. >>> import pandas as pd >>> s1=pd.Series([1,2,3,4,5],index=['A','B','C','D','E'],name='my data') >>> s1 A 1 B 2 C 3 D 4 E 5 Name: my data, dtype: int643 행의 순서를 바꾸는 방법을 알아봅시다. 행의 순서를 B A E D C 로 바꾸고 싶다면 아래와 같이 입력하면 됩니다. >>> s1=s1[['B','A','E','D','C']] >>> s1 B 2 A 1 E 5 D 4 C 3 Name: my data, dtype: int64 숫자 인덱싱을 이용하여 바꿀 ..
2021. 11. 19.
[파이썬 강의] 88. 시리즈(Series)의 행이름의 인덱싱과 슬라이싱
시리즈를 하나 정의해봅시다. 데이터, 행이름(index), 열이름(name) 순서로 입력합니다. 데이터는 리스트 형태로 입력해줍니다. >>> import pandas as pd >>> s1=pd.Series([1,2,3,4,5],index=['A','B','C','D','E'],name='my data') >>> s1 A 1 B 2 C 3 D 4 E 5 Name: my data, dtype: int643 행이름에 접근해봅시다. index 메소드를 사용합니다. >>> s1.index Index(['A', 'B', 'C', 'D', 'E'], dtype='object') 위 결과에서 다시 인덱싱과 슬라이싱이 가능합니다. 행이름 중 'B'에 접근해봅시다. >>> s1.index[1] 'B' 슬라이싱을 이용하여..
2021. 11. 18.
[파이썬 강의] 87.시리즈(Series)의 인덱싱과 슬라이싱
시리즈를 하나 정의해봅시다. 데이터, 행이름(index), 열이름(name) 순서로 입력합니다. 데이터는 리스트 형태로 입력해줍니다. >>> import pandas as pd >>> s1=pd.Series([1,2,3,4,5],index=['A','B','C','D','E'],name='my data') >>> s1 A 1 B 2 C 3 D 4 E 5 Name: my data, dtype: int643 인덱싱을 해봅시다. 원리는 리스트나 배열같은 자료구조와 동일합니다. 첫번째 원소에 접근해봅시다. >>> s1[0] 1 세번째 원소에 접근해봅시다. >>> s1[2] 3 첫번째와 세번째 원소에 접근해봅시다. >>> s1[[0,2]] A 1 C 3 Name: my data, dtype: int64 슬라이싱을..
2021. 11. 17.
[파이썬 강의] 86.시리즈(Series)에서 행이름을 이용하여 데이터에 접근
시리즈를 하나 정의해봅시다. 데이터, 행이름(index), 열이름(name) 순서로 입력합니다. 데이터는 리스트 형태로 입력해줍니다. >>> import pandas as pd >>> s1=pd.Series([1,2,3,4,5],index=['A','B','C','D','E'],name='my data') >>> s1 A 1 B 2 C 3 D 4 E 5 Name: my data, dtype: int643 행이름을 이용하여 데이터에 접근해봅시다. A행의 원소에 접근하는 방법은 아래와 같습니다. >>> s1['A'] 1 여러행에 동시에 접근할 수도 있습니다. A행과 C행에 접근해봅시다. >>> s1[['A','C']] A 1 C 3 Name: my data, dtype: int64 슬라이싱도 가능합니다. >..
2021. 11. 16.
[파이썬 강의] 85.시리즈(Series)에서 데이터,행이름,열이름에 접근하기
시리즈를 하나 정의해봅시다. 데이터, 행이름(index), 열이름(name) 순서로 입력합니다. 데이터는 리스트 형태로 입력해줍니다. >>> import pandas as pd >>> s1=pd.Series([1,2,3,4,5],index=['A','B','C','D','E'],name='my data') >>> s1 A 1 B 2 C 3 D 4 E 5 Name: my data, dtype: int64 메소드를 이용하여 데이터, 행이름, 열이름에 접근할 수 있습니다. 1) 데이터에 접근 (values 메소드) >>> s1.values array([1, 2, 3, 4, 5], dtype=int64) 2) 행이름에 접근 >>> s1.index Index(['A', 'B', 'C', 'D', 'E'], dty..
2021. 11. 15.
[파이썬 강의] 84.판다스 시리즈 정의해보기
지난시간에 판다스를 설치했습니다. 판다스 패키지는 아래 두가지 자료구조를 제공합니다. - Series - DataFrame 오늘은 시리즈 자료구조를 배워봅시다. 시리즈는 아래와 같이 엑셀의 한 열이라고 생각하시면 됩니다. 엑셀과 완전히 같지는 않고 차이가 있습니다. 엑셀에서는 열의이름이 A,B,C,D...로 행의 이름이 1,2,3,...으로 정해져 있지만 시리즈에서는 열과 행의 이름을 설정할 수 있습니다. 시리즈를 하나 정의해봅시다. 데이터, 행이름(index), 열이름(name) 순서로 입력합니다. 데이터는 리스트 형태로 입력해줍니다. >>> import pandas as pd >>> s1=pd.Series([1,2,3,4,5],index=['A','B','C','D','E'],name='my data..
2021. 11. 12.
[파이썬 강의] 81. 표본추출 (이항분포)
커이제곱분포에서 표본을 추출해봅시다. 아래와 같은 형식으로 입력합니다. np.random.binomial(n,p,원소 수) np.random.binomial(n,p, [shape]) 예를 들어봅시다. 시행횟수가 20회이고, 발생확률이 0.2인 이항분포에서 원소가 10개인 표본을 추출해봅시다. >>> import numpy as np >>> np.random.binomial(20,0.2,10) array([3, 1, 7, 6, 6, 2, 4, 4, 3, 7]) 같은 분포에서 2행5열의 표본을 추출해봅시다. >>> np.random.binomial(20,0.2,[2,5]) array([[5, 4, 8, 5, 5], [2, 4, 3, 4, 6]])
2021. 11. 8.
[파이썬 강의] 80. 표본추출 (카이제곱분포)
커이제곱분포에서 표본을 추출해봅시다. 아래와 같은 형식으로 입력합니다. np.random.chisquare(자유도, 원소 수) np.random.chisquare(자유도, [shape]) 예를 들어봅시다. 자유도가 30인 카이제곱분포에서 원소가 10개인 표본을 추출해봅시다. >>> import numpy as np >>> np.random.chisquare(30,10) array([20.27882107, 14.31861792, 27.2574334 , 29.40865448, 26.5177963 , 32.26811378, 26.58053564, 40.92194971, 30.55410323, 38.39466493]) 자유도가 30인 t분포에서 2행5열의 표본을 추출해봅시다. 위 결과와 얼핏 같아 보이지만 아닙..
2021. 11. 5.
[파이썬 강의] 79. 표본추출 (t분포)
t분포에서 표본을 추출해봅시다. 아래와 같은 형식으로 입력합니다. np.random.standard_t(자유도, 원소 수) np.random.standard_t(자유도, [shape]) 예를 들어봅시다. 자유도가 30인 t분포에서 원소가 10개인 표본을 추출해봅시다. >>> import numpy as np >>> np.random.standard_t(30,10) array([ 0.85819086, -0.22148067, -0.28937547, 1.05713019, 0.85156911, 0.42696392, -0.0969401 , -3.25730258, -0.91213918, 1.42497941]), 0.37697573, 1.55891432, 0.56331007, 0.93739202]) 자유도가 30인 ..
2021. 11. 4.
[파이썬 강의] 78. 표본추출 (표준정규분포, 정규분포)
표준정규분포에서 표본을 추출해봅시다. np.random.randn(원소 수) np.random.randn(행의 수, 열의 수) ... 일반화하여 표현하면 아래와 같습니다. np.random.rand(shape) 예를 들어봅시다. 원소가 10개인 표본을 추출해봅시다. >>> np.random.randn(10) array([-0.46918572, -0.01478616, -0.68911651, 1.14858756, -1.97550475, -1.66843948, 0.37697573, 1.55891432, 0.56331007, 0.93739202]) 2행5열의 표본을 추출해봅시다. 위 결과와 얼핏 같아 보이지만 아닙니다. 아래 결과는 리스트가 2중 중첩입니다. >>> np.random.randn(2,5) arra..
2021. 11. 3.
[파이썬 강의] 77. 표본추출 (균등분포)
0~1사이 실수값을 갖는 균등분포에서 표본을 추출해봅시다. 코드는 아래와 같은 형식으로 사용합니다. np.random.rand(원소 수) np.random.rand(행의 수, 열의 수) ... 일반화하여 표현하면 아래와 같습니다. np.random.rand(shape) 예를 들어봅시다. 원소가 10개인 표본을 추출해봅시다. >>> np.random.rand(10) array([0.93551792, 0.67158859, 0.66331052, 0.87592483, 0.56564499, 0.14275756, 0.22003448, 0.01317308, 0.82143447, 0.71668732]) 2행5열의 표본을 추출해봅시다. 위 결과와 얼핏 같아 보이지만 아닙니다. 아래 결과는 리스트가 2중 중첩입니다. >>..
2021. 11. 2.
[파이썬 강의] 76. 표본추출 (구간 사이 정수값)
구간을 정하고, 해당 구간 사이에 있는 정수값을 임의로 추출하는 방법입니다. 넘파이 패키지의 random.randint 메소드를 사용합니다. 형식은 아래와 같습니다. np.random.randint(시작값,끝값+1) 끝값+1인 것에 주의해주세요. (1,5)를 입력하면 1,2,3,4 중에서 정수가 추출됩니다. 예를 들어봅시다. >>> np.random.randint(1,5) 3 >>> np.random.randint(1,5) 3 >>> np.random.randint(1,5) 4 >>> np.random.randint(1,5) 4 >>> np.random.randint(1,5) 1 >>> np.random.randint(1,5) 4 >>> np.random.randint(1,5)
2021. 11. 1.
[파이썬 강의] 75. 배열 원소의 최댓값과 최솟값
배열의 최댓값을 구할 때는 max 메소드를, 최솟값을 구할 때는 min 메소드를 사용합니다. 2차원 이상의 배열에서는 axis 옵션을 사용할 수 있습니다. 1차원 배열 1차원 배열을 하나 정의하고 최댓값과 최솟값을 구해봅시다. >>> import numpy as np >>> v1=np.array([1,2,3,4,5]) >>> v1.max() 5 >>> v1.min() 1 2차원 배열 2차원 배열을 하나 정의하고 합을 구해봅시다. >>> m1=np.array([[1,2,3],[10,20,30]]) >>> m1.max() 30 >>> m1.min() 1 axis 옵션을 적용해봅시다. >>> m2=np.array([[1,2,3],[4,5,1]]) >>> m2.max(axis=0) array([4, 5, 3])..
2021. 10. 29.
[파이썬 강의] 74. 배열 원소의 평균, 분산, 표준편차
배열의 평균을 구할 때는 mean 매소드를 사용합니다. 2차원 이상의 배열에서는 axis 옵션을 사용할 수 있습니다. 1차원 배열의 평균 1차원 배열을 하나 정의하고 평균을 구해봅시다. >>> import numpy as np >>> v1=np.array([1,2,3,4,5]) >>> v1.mean() 3.0 2차원 배열의 평균 2차원 배열을 하나 정의하고 평균을 구해봅시다. >>> m1=np.array([[1,2,3],[10,20,30]]) >>> m1.mean() 11.0 axis 옵션을 적용해봅시다. >>> m1.mean(axis=0) array([ 5.5, 11. , 16.5]) >>> m1.mean(axis=1) array([ 2., 20.]) axis0은 [1,2,3]->[10,20,30] 이..
2021. 10. 28.
[파이썬 강의] 73. 배열 원소의 합
배열의 합을 구할 때는 sum 매소드를 사용합니다. 2차원 이상의 배열에서는 axis 옵션을 사용할 수 있습니다. 1차원 배열 1차원 배열을 하나 정의하고 합을 구해봅시다. >>> import numpy as np >>> v1=np.array([1,2,3,4,5]) >>> v1.sum() 15 2차원 배열 2차원 배열을 하나 정의하고 합을 구해봅시다. >>> m1=np.array([[1,2,3],[10,20,30]]) >>> m1.sum() 66 axis 옵션을 적용해봅시다. >>> m1.sum(axis=0) array([11, 22, 33]) >>> m1.sum(axis=1) array([ 6, 60]) axis0은 [1,2,3]->[10,20,30] 이므로 리스트 [1,2,3]과 [10,20,30]의..
2021. 10. 27.
[파이썬 강의] 71. 등차수열 배열 생성하기
등차수열 배열을 생성할 때는 넘파이 패키지의 arange 함수를 사용합니다. 아래와 같은 형식으로 사용합니다. np.arange(시작값,끝값,간격) 시작값이상이고, 끝값 미만인 배열이 생성됩니다. 끝항 '미만'이라는 것을 기억합시다. 구간으로는 [첫항,끝항) 이라고 표현할 수 있습니다. 반열린구간입니다. 예를들어봅시다. np.arrange(1,6,2) 라고 입력하면 얼마가 반환될까요. 1부터 2씩 늘려가는 것이니까. 1 3 5 가 생성됩니다. >>> import numpy as np >>> np.arange(1,6,2) array([1, 3, 5]) 하나의 값만 입력할 경우 첫항이 0이고 길이가 입력값인 배열이 생성됩니다. >>> np.arange(5) array([0, 1, 2, 3, 4])
2021. 10. 26.
[파이썬 강의] 70. 모든 값이 지정값인 배열 원하는 크기로 만들기 (full)
사용자가 지정한 값을 갖는 원하는 크기의 배열을 만들 때는 numpy 모듈의 full 함수를 사용합니다. 원하는 크기의 배열을 만들 수 있습니다. 1차원 배열 만들기 모든 원소가 15이고, 길이가 10인 1차원 배열을 만들어 봅시다. 첫번째 입력값이 길이입니다. >>> import numpy as np >>> np.full(10,15) array([15, 15, 15, 15, 15, 15, 15, 15, 15, 15]) 2차원 배열 만들기 모든 값이 15이고, 모양이 3행5열인 2차원 배열을 만들어봅시다. 행과 열의 수를 리스트 형태로 입력합니다. 입력값은 축 개념과 동일합니다. >>> np.full([3,5],15) array([[15, 15, 15, 15, 15], [15, 15, 15, 15, 15..
2021. 10. 25.
[파이썬 강의] 69. 모든 값이 1인 배열 원하는 크기로 만들기 (ones)
모든값이 1인 배열을 만들 때는 numpy 모듈의 ones 함수를 사용합니다. 원하는 크기의 배열을 만들 수 있습니다. 1차원 배열 만들기 모든 원소가 1이고, 길이가 10인 1차원 배열을 만들어 봅시다. import numpy as np >>> import numpy as np >>> np.ones(10) array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]) 2차원 배열 만들기 모든 값이 1이고, 모양이 3행5열인 2차원 배열을 만들어봅시다. 행과 열의 수를 리스트 형태로 입력합니다. 입력값은 축 개념과 동일합니다. >>> np.ones([3,5]) array([[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., ..
2021. 10. 25.
[파이썬 강의] 68. 모든 값이 0인 배열 원하는 크기로 만들기 (zeros)
모든값이 0인 배열을 만들 때는 numpy 모듈의 zeros 함수를 사용합니다. 원하는 크기의 배열을 만들 수 있습니다. 1차원 배열 만들기 모든 원소가 0이고, 길이가 10인 1차원 배열을 만들어 봅시다. import numpy as np >>> import numpy as np >>> np.zeros(10) array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) 2차원 배열 만들기 모든 값이 0이고, 모양이 3행5열인 2차원 배열을 만들어봅시다. 행과 열의 수를 리스트 형태로 입력합니다. 입력값은 축 개념과 동일합니다. >>> np.zeros([3,5]) array([[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0..
2021. 10. 25.
[파이썬 강의] 67. 배열 요소 삭제하기
배열에 요소를 추가할 때는 np.delete 라는 함수를 사용합니다. 사용 방법은 아래와 같습니다. np.delete(배열, 인덱스, 축) 1차원 배열을 예로 들어봅시다. 원소가 1,2,3,4인 1차원 배열을 하나 정의하겠습니다. >>> import numpy as np >>> v1=np.array([1,2,3,4]) 두번째 원소를 삭제하고 싶은 경우 index에 1을 입력하면 됩니다. >>> np.delete(m1,1,axis=0) array([1, 3, 4]) 2차원 배열을 예로 들어봅시다. 2차원 배열을 하나 정의하겠습니다. >>> m1=np.array([[1,2],[3,4]]) [3,4] 를 제거해봅시다. >>> np.delete(m1,1,axis=0) array([[1, 2]]) 2차원 배열을 ..
2021. 10. 22.