[파이썬기초] 리스트 요소 삭제 - 요소 인덱스를 입력 (pop)
[파이썬기초] 리스트 요소 삭제 - 요소 인덱스를 입력 (pop) 리스트 요소를 삭제하는 메소드는 remove 와 pop 이 있습니다. 둘의 차이는 아래와 같습니다. - remove : 요소 이름을 입력하여 삭제- pop : 요소 이번 글에서는 pop 메소드를 이용한 요소삭제 방법을 알아봅시다. pop 메소드는 삭제될 요소가 무엇인지도 출력해줍니다. 숫자 요소를 삭제 리스트를 하나 정의합시다. >>> L=[100,200,300,400]>>> L[100,200,300,400] 200를 삭제합시다. >>> L.pop(1)200>>> L[100, 300, 400] 리스트 요소를 삭제 리스트를 하나 정의합시다. >>> L=[[1,2],3,4]>>> L[[1,2],3,4] [1,2] 를 삭제합시다. >>> L.p..
2020. 10. 23.
[파이썬기초] 리스트 요소 삭제 - 요소 이름을 입력 (remove)
[파이썬기초] 리스트 요소 삭제 - 요소 이름을 입력 (remove) 리스트 요소를 삭제하는 메소드는 remove 와 pop 이 있습니다. 둘의 차이는 아래와 같습니다. - remove : 요소 이름을 입력하여 삭제- pop : 요소 인덱스를 입력하여 삭제 이번 글에서는 remove 메소드를 이용한 요소삭제 방법을 알아봅시다. 숫자 요소를 삭제 리스트를 하나 정의합시다. >>> L=[100,200,300,400]>>> L[100,200,300,400] 200를 삭제합시다. >>> L.remove(200)>>> L[100, 300, 400] 리스트 요소를 삭제 리스트를 하나 정의합시다. >>> L=[[1,2],3,4]>>> L[[1,2],3,4] [1,2] 를 삭제합시다. >>> L.remove([1,2]..
2020. 10. 23.
[파이썬기초] 리스트 요소 수정
[파이썬기초] 리스트 요소 수정 리스트는 요소 수정이 가능한 자료구조입니다. 인덱싱 후에 원하는 값을 입력해주면 됩니다. 단일 요소 수정 리스트를 하나 정의합시다. L=[1,2,3,4]L[1,2,3,4] 두번째 요소를 10으로 수정합시다. >>> L[0]=10>>> L[10, 2, 3, 4] 여러 요소를 한번에 수정 리스트를 하나 정의합시다. >>> L=[1,2,3,4]>>> L[1,2,3,4] 세번째 요소를 [10,100] 으로 수정합시다. >>> L[2]=[10,100]>>> L[1, 2, [10, 100], 4]
2020. 10. 23.
[파이썬기초] 리스트 요소 삽입 (insert 사용)
[파이썬기초] 리스트 요소 삽입 (insert 사용) append 메소드는 리스트의 끝에 요소를 추가합니다. 리스트 중간에 요소를 삽입할 경우 insert 메소드를 사용합니다. 리스트에 숫자 삽입 리스트를 하나 정의합니다. >>> L=[1,2,3,4]>>> L[1, 2, 3, 4] 1과2 사이에 10을 삽입해봅시다. >>> L.insert(1,10)>>> L[1, 10, 2, 4, 10, 15] 리스트에 리스트 삽입 >>> L=[1,2,3,4]>>> L[1, 2, 3, 4] 2와3 사이에 [10,100]을 삽입해봅시다. >>> L.insert(2,[10,100])>>> L[1, 2, [10, 100], 3, 4]
2020. 10. 23.
[파이썬기초] 리스트 요소 추가 (append 사용)
[파이썬기초] 리스트 요소 추가 (append 사용) 리스트에 요소를 추가해봅시다. append 메소드를 사용합니다. 리스트에 숫자추가 리스트를 하나 정의합니다. >>> L=[1,2,3,4]>>> L[1, 2, 3, 4] 5를 추가합시다. >>> L.append(5)>>> L[1, 2, 3, 4, 5] 리스트에 리스트 추가 리스트를 하나 정의합니다. >>> L=[1,2,3,4]>>> L[1, 2, 3, 4] [1,2] 를 추가합시다. >>> L.append([1,2])>>> L[1, 2, 3, 4, [1, 2]]
2020. 10. 23.
[파이썬 기초] 리스트(list) 인덱싱과 슬라이싱 (2) 중첩이 있는 경우
[파이썬 기초] 리스트(list) 인덱싱과 슬라이싱 (2) 중첩이 있는 경우 리스트 안에 리스트를 정의한 것을 '중첩'이라고 부르겠습니다. 중첩이 있는 경우의 인덱싱을 알아봅시다. 이중 중첩 리스트가 이중으로 중첩된 리스트를 정의합시다. >>> L=[[1,2],3]>>> L[[1, 2], 3] 첫번째 원소에 접근해봅시다. >>> L[0][1, 2] 첫번째 원소는 리스트 [1,2] 입니다. 첫번째 원소인 리스트 [1,2]의 첫번째 원소 1에 접근하는 방법은 아래와 같습니다. >>> L[0][0]1 삼중 중첩 리스트가 삼중으로 중첩된 리스트를 정의해봅시다. >>> L2=[[[1,2],1],2]>>> L2[[[1, 2], 1], 2] 첫번째 원소에 접근해봅시다. >>> L2[0][[1, 2], 1] 첫번째 원..
2020. 10. 22.
[파이썬 기초] 리스트(list) 인덱싱과 슬라이싱 (1) 중첩 없는 경우
[파이썬 기초] 리스트(list) 인덱싱과 슬라이싱 (1) 중첩 없는 경우 리스트에서 인덱싱을 하는 방법입니다. 중첩이 없는경우와 있는 경우로 나눠서 살펴볼 것이며, 이번 글은 중첩이 없는 경우입니다. 먼저 리스트를 하나 정의하겠습니다. >>> L=[1,2,3,4,5]>>> L[1, 2, 3, 4, 5] 하나의 원소에 접근 리스트 L의 첫번째 원소에 접근해보겠습니다. 대괄호를 사용합니다. >>> L[0]1 구간을 이용하여 여러 원소에 접근 구간을 이용할 때는 콜론 : 을 사용합니다. 첫번째와 두번째 원소에 접근할 때는 어떻게 해야할까요? 첫번째 원소의 접근방법이 L[0]이었으니까, 두번째 원소까지의 접근은 아마 L[0:1]가 떠오르실 것입니다. 아쉽게도 결과는 아래와 같습니다. 첫번째 원소만 출력되었습니..
2020. 10. 22.
[파이썬 기초] 리스트(list) 소개, 정의
[파이썬 기초] 리스트(list) 소개, 정의 리스트는 파이썬에서 제공하는 기본 자료구조중 하나입니다. 아래와 같은 특징을 가집니다. - 대괄호로 정의함 ex) [1,2,3]- 순서가 있음- 원소로 리스트를 가질 수 있음- 원소로 다른 자료구조(튜플,문자열,딕셔너리)를 가질 수 있음- 서로 다른 자료구조를 동시에 원소로 가질 수 있음- 수정이 가능함 아래는 리스트 정의 예시입니다. >>> L1=[1,2,3]>>> L1[1, 2, 3] >>> L2=[1,2,'a']>>> L2[1, 2, 'a'] >>> L3=[1,2,(1,2,3)]>>> L3[1, 2, (1, 2, 3)] >>> L4=[1,'a',{"KOREA":"Seoul","US":"Washigton","JAPAN":"Tokyo"}]>>> L4[1, ..
2020. 10. 22.
[파이썬 기초] 문자열의 모든 메소드 확인 방법 (dir)
[파이썬 기초] 문자열의 모든 메소드 확인 방법 문자열을 하나 정의합니다. >>> S='hi' 정의한 문자열에 dir 함수를 적용합니다. 아래와 같이 모든 메소드가 출력됩니다. >>> dir(S)['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__n..
2020. 10. 22.
[파이썬] 문자열 구분기호로 분리하여 리스트로 변환 (split)
[파이썬 기초] 문자열 구분기호로 분리하여 리스트로 변환 split 메소드를 이용하면 문자열을 구분기호로 분리하여 리스트로 변환할 수 있습니다. >>> S="my,name,is,paul" >>> S.split(',') ['my', 'name', 'is', 'paul'] 띄어쓰기나 탭으로 분리되어 있다면 아무것도 입력하지 않으면 됩니다. >>> S2="my name is paul" >>> S2.split() ['my', 'name', 'is', 'paul']
2020. 10. 22.
[파이썬 numpy] 배열 요소 삭제하기
[파이썬 numpy] 배열 요소 삭제하기 배열 요소를 삭제할 때는 np.delete 메소드를 사용합니다. 아아래와 같은 형식으로 사용합니다. np.delete(배열, 인덱스, axis) 1차원 배열에서 요소 삭제 1차원배열을 정의하고, 첫번째 요소를 삭제해봅시다. A=np.array([1,2,3,4,5]) >>> Aarray([1, 2, 3, 4, 5]) >>> np.delete(A, 0)Out[450]: array([2, 3, 4, 5]) 2차원 배열에서 행 삭제 2차원배열을 정의하고 1행을 삭제해봅시다. 2차원배열에서 행방향으로 첫번째 행을 제거하는 것이므로 axis 에 0을 넣어줍니다. A2=np.array([[1,2,3],[4,5,6]]) >>> A2array([[1, 2, 3], [4, 5, 6..
2020. 10. 21.
파이썬 numpy의 array(배열)에 관한 의문
파이썬 numpy의 array(배열)에 관한 의문 numpy의 배열에 대한 의문은 아래 배열에서 시작되었다. >>> A=np.array([1,2,[3,4],5])>>> Aarray([1, 2, list([3, 4]), 5], dtype=object) 이게 왜 정의가 되지? 라는 의문이었다. 내가 알던 배열은 벡터, 행렬, ... 로 확장되는 개념이 아니었던가? 저건 뭐지? 라는 의문이었다. 한동안 고민했다. 내가 알던 배열에서 더 확장된 개념이 존재하는 것인가라는... A를 두번 더해봤다. >>>A+Aarray([2, 4, list([3, 4, 3, 4]), 10], dtype=object) 리스트는 그대로 리스트 연산이 적용된다. 이건뭐지? 이 요소는 뭐라고 불러야 하지? R과 매트랩에도 배열이 있어서..
2020. 10. 21.
[파이썬 Pandas] 시리즈(Series) 인덱스에 원하는 이름 부여하기
[파이썬 Pandas] 시리즈(Series) 인덱스에 원하는 이름 부여하기 시리즈는 R의 벡터처럼 인덱스에 원하는 이름을 부여할 수 있습니다. 아래와 같은 방법으로 이름을 부여합니다. 인덱스에 이름을 부여할 때도 리스트 자료구조를 사용합니다. import pandas as pd A1=pd.Series([1,2,3,4], index=['a','b','c','d']) >>> A1a 1b 2c 3d 4dtype: int64 하나의 문자가 아니라 여러개의 문자로도 가능할까요? 가능합니다. A2=pd.Series([1,2,3,4], index=['hi','b','c','d']) >>> A2hi 1b 2c 3d 4dtype: int64 띄어쓰기가 있는 문장으로도 가능할까요? 가능합니다. A3=pd.Series([1..
2020. 10. 21.
[파이썬 numpy] 개수로 간격을 설정하여 배열 생성 (linspace)
[파이썬 numpy] 개수로 간격을 설정하여 배열 생성 (linspace) 첫항,끝항,개수을 입력하면 간격이 일정하고 입력한 개수를 갖는 배열을 생성해줍니다. 첫항 2, 끝항 10, 개수가 5개인 배열을 생성해봅시다. >>> np.linspace(2,10,5)array([ 2., 4., 6., 8., 10.])
2020. 10. 19.
[파이썬 numpy] 등차배열 생성 (arange)
[파이썬 numpy] 등차배열 생성 (arange) 첫항,끝항,간격을 입력하면 첫항이상, 끝항 미만의 값을 갖는 배열을 생성합니다. 첫항 2, 끝항 10, 간격 2인 배열을 생성해봅시다. >>> np.arange(2,10,2)array([2, 4, 6, 8]) 첫항 1, 끝항 3, 간격 0,7인 배열을 생성해봅시다. >>> np.arange(1,3,0.7)array([1. , 1.7, 2.4]) 하나의 값만 입력하면 첫항이 0이고 간격이 1이고, 길이가 입력값인 배열을 생성해줍니다. >>> np.arange(10)array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
2020. 10. 19.
[파이썬 numpy] 1차원 배열를 원하는 형태의 배열로 만들기 (reshape)
[파이썬 numpy] 1차원 배열를 원하는 형태의 배열로 만들기 (reshape) 1차원 배열을 2차원 배열로 1차원 배열을 하나 정의합시다. >>> A1=np.array([1,2,3,4,5,6])>>> A1array([1, 2, 3, 4, 5, 6]) 2행3열인 2차원배열로 만들어봅시다. >>> A1.reshape(2,3)array([[1, 2, 3], [4, 5, 6]]) 1차원 배열을 3차원 배열로 1차원 배열을 하나 정의합시다. >>> B1=np.array([1,2,3,4,5,6,7,8,9,10,11,12])>>> B1array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) 2높2행3열짜리 3차원 배열을 정의합시다. 2높은 높이가 2라는 의미입니다. >>> B1.res..
2020. 10. 19.
[파이썬 numpy] 대각행렬 생성 (eye)
[파이썬 numpy] 대각행렬 생성 (eye) 대각행렬은 대각선위치에만 값이 있는 행렬을 말합니다. diagona matrix 라고 부릅니다. numpy에서 제공하는 대각행렬 생성 메소드는 대각선에 값 1을 갖는 행렬을 생성해줍니다. numpy 를 불러오고 시작합시다. import numpy as np 2x2 대각 행렬 >>> np.eye(2)array([[1., 0.], [0., 1.]]) 3x3 대각 행렬 >>> np.eye(3)array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
2020. 10. 19.
[파이썬 numpy] 모든 값이 사용자 지정값인 배열 생성 (full)
[파이썬 numpy] 모든 값이 사용자 지정값인 배열 생성 (full) numpy 를 불러오고 시작합시다. import numpy as np 1차원 배열 지정 값이 7이고, 길이가 5인 1차원배열을 생성해봅시다. >>> np.full(5,7)array([7, 7, 7, 7, 7]) 2차원 배열 지정 값이 7이고, 2행3열인 2차원 배열을 생성해봅시다. >>> np.full([2,3],7)array([[7, 7, 7], [7, 7, 7]]) 입력 시 사용하는 괄호는, 대괄호 소괄호 상관 없습니다. >>> np.full((2,3),7)array([[7, 7, 7], [7, 7, 7]]) 3차원 배열 지정 값이 7이고, 크기가 2x3x4인 2차원 배열을 생성해봅시다. 규칙은 (높이)x(행)x(열) 입니다. >..
2020. 10. 19.
[파이썬 numpy] 모든 값이 0인 배열 생성 (zeros)
[파이썬 numpy] 모든 값이 0인 배열 생성 (zeros) numpy 를 불러오고 시작합시다. import numpy as np 1차원 배열 모든 원소가 0이고, 길이가 5인 1차원배열을 생성해봅시다. >>> np.zeros(5)array([0., 0., 0., 0., 0.]) 2차원 배열 모든 원소가 0이고, 2행3열인 2차원 배열을 생성해봅시다. >>> np.zeros([2,3])array([[0., 0., 0.], [0., 0., 0.]]) 입력 시 사용하는 괄호는, 대괄호 소괄호 상관 없습니다. >>> np.zeros((2,3))array([[0., 0., 0.], [0., 0., 0.]]) 3차원 배열 모든 원소가 0이고, 크기가 2x3x4인 2차원 배열을 생성해봅시다. 규칙은 (높이)x(행..
2020. 10. 19.
[파이썬 numpy] 배열 합치기 (stack 메소드)
[파이썬 numpy] 배열 합치기 (stack 메소드) 배열을 합치는 방법 중에 stack 메소드를 사용하는 방법이 있습니다. 아래 세가지 메소드가 있습니다. hstack (가로방향) vstack (세로방향) column_stack (열벡터로 인식한 뒤 가로방향) 1차원 배열 먼저 배열을 정의하겠습니다 . import numpy as np A1=np.array([1,2,3]) B1=np.array([4,5,6]) >>> A1 array([1, 2, 3]) >>> B1 array([4, 5, 6]) hstack 함수는 열 방향(가로방향)으로 합쳐줍니다. >>> np.hstack((A1,B1)) array([1, 2, 3, 4, 5, 6]) vstack 함수는 행 방향(세로방향)으로 합쳐줍니다. >>> np..
2020. 10. 19.
[파이썬 numpy] 배열 합치기 (concatenate 메소드) + axis 개념
[파이썬 numpy] 배열 합치기 (concatenate 메소드) + axis 개념 concatenate 메소드는 선택한 축(axis)의 방향으로 배열을 연결해주는 메소드입니다. concatenate 는 '사슬 같이 연결하다'는 의미입니다. 1,2,3차원배열에 적용해보며 사용 방법과 축의 의미를 이해해봅시다. 1차원 배열 먼저 배열을 정의하겠습니다 . import numpy as np A1=np.array([1,2,3])B1=np.array([4,5,6]) >>> A1array([1, 2, 3]) >>> B1array([4, 5, 6]) 아래와같이 1차원 배열에 concatenate 메소드를 적용해봅시다. axis=0으로 하였습니다. >>> np.concatenate((A1,B1),axis=0)array..
2020. 10. 16.