[파이썬] 리스트의 모든 원소 반올림 하는 방법
파이썬의 내장함수인 round 함수는 리스트에 적용할 수 없습니다. 리스트에 적용이 가능한 반올림 함수는 numpy 패키지의 round 함수입니다. 먼저 넘파이 패키지를 불러옵시다. import numpy as np 아래와 같은 리스트를 하나 만들어줍시다. a=[1.11,2.22,3.33,4.44,5.55] np.round 함수를 이용하여 반올림을 해줍시다. >>> np.round(a,1) array([1.1, 2.2, 3.3, 4.4, 5.6]) 리스트의 차원이 더 높아도 가능한지 확인해봅시다. >>> b=[[1.11,2.22],[3.33,4.44]] >>> np.round(b,1) array([[1.1, 2.2], [3.3, 4.4]]) 가능합니다.
2023. 5. 3.
[파이썬] 리스트 원소를 복사할 때 기존 리스트 영향 안받게 복사하기
1. 종속적인 복사 (얕은 복사) 아래와 같은 리스트가 있다고 합시다. a=[1,2,3,4,5] a를 b에 아래와 같이 복사합시다. b=a 만약 a를 변경하면 b도 변경됩니다. >>> a.remove(1) >>> b [2, 3, 4, 5] a를 변경해도 b는 변경되지 않도록 복사하고 싶은 경우 사용하는 방법이 copy 메소드입니다. 2. 독립적인 복사 (깊은 복사) a를 다시 정의하고 아래와 같이 복사합시다. >>> a=[1,2,3,4,5] >>> b=a.copy() a를 변경해도 b가 변하지 않습니다. >>> a.remove(1) >>> b [1, 2, 3, 4, 5]
2023. 5. 3.
[파이썬] 리스트 원소를 랜덤하게 썪는 방법 (random.shuffle)
아래와 같은 리스트가 있습니다. a=[1,2,3,4,5,6,7,8,9,10] 순서를 랜덤하게 섞어봅시다. random 패키지의 shuffle 함수를 사용합니다. >>> import random >>> random.shuffle(a) >>> a [5, 8, 1, 2, 4, 9, 3, 6, 10, 7] 리스트 a가 랜덤하게 섞인 것을 알 수 있습니다.
2023. 5. 2.
[파이썬 판다스] 시리즈에서 인덱스 여러 층으로 정의하기 (계층적 인덱스)
독립변수가 두개 이상인 자료를 표로 정리해야하는 경우가 있습니다. 예를들어 독립변수가 거주지, 성별이고 종속변수가 인구 수인 경우를 생각해봅시다. 독립변수 : 거주지, 성별 종속변수 : 인구 수 표로 정리하면 아래와 같습니다. 파이썬 시리즈에서 위 표를 정의해봅시다. import pandas as pd import numpy as np #데이터 생성 sr1=pd.Series([50,50,30,30,20,20], index=[['서울','서울','경기','경기','제주',"제주"],['남자','여자','남자','여자','남자','여자']]) 인덱스를 2차원 리스트로 정의하면 됩니다. 결과는 아래와 같습니다. >>> sr1 서울 남자 50 여자 50 경기 남자 30 여자 30 제주 남자 20 여자 20 dt..
2022. 2. 24.
[파이썬] 리스트 할당과 복사 (2차원 배열에서는 왜 안될까)
아래와 같이 a라는 리스트를 정의해봅시다. >>> a=[1,2,3] b에 a를 할당합니다. >>> b=a >>> b [1, 2, 3] b를 수정하면 a가 바뀔까요. 바뀌지 않을까요? 한번 수정해봅시다. >>> b[0]=2 >>> a [2, 2, 3] a도 함께 바뀝니다. copy 메소드 만약 b를 a와 같게 정의하고, 이후에는 b만 독립적으로 사용하려면 어떻게 해야 할까요? copy 메소드를 사용하면 됩니다. copy 메소드로 b를 정의해봅시다. >>> a=[1,2,3] >>> b=a.copy() >>> a [1, 2, 3] >>> b [1, 2, 3] b의 원소를 바꿔봅시다. >>> b[0]=50 >>> a [1, 2, 3] >>> b [50, 2, 3] b만 변경되었습니다. copy 메소드에는 한계가..
2021. 11. 9.
파이썬 range 값 확인하는 방법
rage 값을 확인하고 싶을 때는 list 함수를 적용하면 됩니다. >>> range(5) range(0, 5) 위 range에 list 함수를 적용해봅시다. >>> list(range(5)) [0, 1, 2, 3, 4] 다른 경우도 봅시다. >>> range(2,6) range(2, 6) 위 range에 list 함수를 적용해봅시다. >>> list(range(2,6)) [2, 3, 4, 5]
2021. 3. 26.
[파이썬 기초] 리스트 생성 시 값만 참조하는 방법
[파이썬 기초] 리스트 생성 시 값만 참조하는 방법 A라는 리스트를 만들고, A를 참조하여 B를 만들었다고 합시다. >>> A=[1,2,3]>>> B=A>>> B[1, 2, 3] 위와 같이 참조할 경우 A의 일부가 바뀌면 B가 함께 바뀐다는 문제가 있습니다. >>> A[0]=100>>> B[100, 2, 3] 물론 의도한 것이라면 상관 없습니다. 만약 의도한 것이 아니고, A의 일부가 바뀌어도 B가 바뀌지 않길 원한다면 아래와 같이 B를 정의해주면 됩니다. >>> A=[1,2,3]>>> B=A[:]>>> B[1, 2, 3] A의 일부를 수정해봅시다. >>> A[0]=1000>>> B[1, 2, 3] B가 바뀌지 않은 것을 알 수 있습니다.
2020. 11. 10.
[파이썬 기초] 리스트 생성 시 주의할 점 (리스트 참조)
[파이썬 기초] 리스트 생성 시 주의할 점 (리스트 참조) 리스트를 참조하여 생성할 때 주의할 사항이 있습니다. 이해를 위해 예를 하나 들겠습니다. 리스트 A를 정의하고, A를 참조하여 B를 만들겠습니다. >>> A=[1,2,3]>>> B=A>>> B[1, 2, 3] 만약 A를 통채로 바꾸면 B가 어떻게 될까요? >>> A=[10,20]>>> B[1, 2, 3] B는 처음에 참조한 값에서 바뀌지 않습니다. 그렇다면 한번 참조한 뒤에는 A의 변화가 B에 영향을 미치지 않는걸까요? 다시 A를 정의하고, A를 참조하여 B를 만들어봅시다. >>> A=[1,2,3]>>> B=A>>> B[1, 2, 3] 이번에는 A의 첫번째 원소만 바뀌봅시다. >>> A[0]=100>>> B[100, 2, 3] B가 바뀌었습니다...
2020. 11. 10.
[파이썬기초] range 함수로 리스트 정의하기 (등차수열 쉽게 정의하기)
[파이썬기초] range 함수로 리스트 정의하기 (등차수열 쉽게 정의하기) range 함수 설명 range 함수는 0을 포함한 자연수의 수열을 반환해주는 함수입니다. 세가지 사용방법이 있습니다. range(값)range(시작값,끝값+1)range(시작값,끝값+1,간격) range를 이용하여 list 정의 range 함수 결과에 list 함수를 적용하면 됩니다. >>> list(range(5))[0, 1, 2, 3, 4] >>> list(range(2,4))[2, 3] >>> list(range(2,9,2))[2, 4, 6, 8] >>> list(range(2,10,2))[2, 4, 6, 8]
2020. 11. 3.
[파이썬 기초] 딕셔너리(Dictionary)를 리스트를 이용하여 정의하기
[파이썬 기초] 딕셔너리(Dictionary)를 리스트를 이용하여 정의하기 Key에 해당하는 리스트와 Value에 해당하는 리스트를 이용하여 딕셔너리를 정의해봅시다. 먼저 Key로 사용할 리스트와 Value로 사용할 리스트를 정의합시다. >>> K=['apple','banana','Plum']>>> K['apple', 'banana', 'Plum']>>> V=[1,2,3]>>> V[1, 2, 3] 자료형을 묶어주는 zip 함수를 적용한 뒤, 딕셔너리를 생성하는 dict 함수를 적용해줍니다. >>> dict(zip(K,V)){'apple': 1, 'banana': 2, 'Plum': 3}
2020. 10. 30.
[파이썬 기초] 딕셔너리(Dictionary)에 딕셔너리 추가하기
[파이썬 기초] 딕셔너리(Dictionary)에 딕셔너리 추가하기 딕셔너리를 하나 정의합시다. >>> Dic1={'Apple':'사과','Banana':'바나나','Plum':'자두'}>>> Dic1{'Apple': '사과', 'Banana': '바나나', 'Plum': '자두'} 또 다른 딕셔너리를 정의합시다. >>> Dic2 = {'a': 1, 'b': 2, 'c': 3}>>> Dic2{'a': 1, 'b': 2, 'c': 3} Dic1 에 Dic2를 추가합시다. . >>> Dic1.update(Dic2)>>> Dic1{'Apple': '사과', 'Banana': '바나나', 'Plum': '자두', 'a': 1, 'b': 2, 'c': 3}
2020. 10. 30.
[파이썬기초] 리스트 요소 길이 순으로 정렬 (sort)
[파이썬기초] 리스트 요소 길이 순으로 정렬 리스트 요소를 길이 순으로 정렬할 때는 sort 메소드에서 key=len 을 입력해주면 됩니다. 리스트를 하나 정의합시다. >>> L=[1,2,3,4,5] >>> L [1,2,3,4,5] 길이순으로 정렬해봅시다. >>> L.sort(key=len) Traceback (most recent call last): File "", line 1, in L.sort(key=len) TypeError: object of type 'int' has no len() 오류가 발생합니다. int는 길이가 정의되지 않기 때문입니다. 요소로 문자열이나 리스트를 넣어야 합니다. 리스트를 다시 정의합시다. >>> L=[[1,2],'asd','a',[1,2,3,4,5],'asdf'] >..
2020. 10. 23.
[파이썬기초] 리스트 요소 순서 거꾸로 뒤집기 (reverse 사용)
[파이썬기초] 리스트 요소 순서 거꾸로 뒤집기 (reverse 사용) 리스트 요소의 순서를 거꾸로 뒤집을 때는 reverse 메소드를 사용합니다. 리스트를 하나 정의합시다. >>> L=[1,2,3,4,5]>>> L[1,2,3,4,5] 순서를 거꾸로 뒤집어봅시다. >>> L.reverse()>>> L[5, 4, 3, 2, 1]
2020. 10. 23.
[파이썬기초] 리스트 내림차순, 오름차순 정렬하는 방법 (sort 사용)
[파이썬기초] 리스트 내림차순, 오름차순 정렬하는 방법 (sort 사용) 오름차순과 내림차순에는 sort 메소드를 사용합니다. 숫자 오름차순 정렬 리스트를 하나 정의합시다. >>> L=[1,5,2,4,3]>>> L[1,5,2,4,3] 오름차순 정렬합시다. >>> L.sort()>>> L[1, 2, 3, 4, 5] 숫자 내림차순 정렬 리스트를 하나 정의합시다. L=[1,5,2,4,3]L[1,5,2,4,3] 내림차순으로 정렬합시다. >>> L.sort(reverse=True)>>> L[5, 4, 3, 2, 1]
2020. 10. 23.
[파이썬기초] 리스트 요소 삭제 - 요소 인덱스를 입력 (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.