반응형

Study/Python 13

python에서 list 또는 numpy.array 변수의 값이 같은지 비교하는 방법

문제의 정의 파이썬에서 list 또는 numpy.array 타입의 변수를 비교해야 할 때가 있음 numpy.array의 경우 == 연산자를 통해 직접 비교를 시도하면 다음과 같은 에러를 만나기도 함 Exception has occurred: ValueError The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()... 문제 해결 방법 list의 경우 == 연산자를 사용할 수도 있고 all과 zip의 조합 그리고 collections module을 사용할 수 있음 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 ..

Study/Python 2023.08.25

지수표현 숫자를 python에서 쉽게 읽어드리고 다루기

문제의 정의 지수표현으로 된 숫자들을 입력받을 때가 있음 지수표현이 있어 처리하는 것이 귀찮음 (1e-3와 같이...) 해결 방법 python numpy를 통해 쉽게 읽어드릴 수 있음 numpy.array()를 통해 리스트 형식으로 조합된 지수표현 숫자들 혹은 단일 지수표현 숫자를 읽어드릴 수 있음 또한 np.set_printoptions(precision=5, suppress=True) 처리하는 자릿수를 제한하여 다룰 수 있기도 함 여기서 precsion은 처리할 숫자의 자릿수를 말하며 5인 경우 소숫점 5째자리까지 표기하고 다룸을 의미 1 2 3 4 5 6 7 8 9 10 import numpy as np np.set_printoptions(precision=5, suppress=True) # Num..

Study/Python 2023.08.24

python 숫자 표기에서 e없이 출력하는 방법

문제의 정의 간단하게 소숫점 자리를 가지는 여러 숫자들을 확인해야 할 때가 있음 파이썬 과학적 표기법(지수 표현)이라는 이름으로 e가 붙어서 표현될 때가 있음 이는 빠르게 숫자를 확인하는데 어려움을 줌 1 2 3 4 # 자릿수가 많은 수 출력 num = 0.000004138413513684351 print(num) # 4.138413513684351e-06로 출력됨 cs 문제 해결 방법 print의 string format을 사용할 수 있음 "{:.8f}" 해당 부분의 숫자는 표기할 자릿수를 나타냄 1 2 3 4 5 6 7 8 9 10 # Numbers... number1 = 0.000004138413513684351 number2 = 1e-3 # Formatting without scientific n..

Study/Python 2023.08.24

변수 값을 복사하여 새로 만들기 (deepcopy)

문제의 정의 변수를 그냥 할당하여 사용하는 경우 메모리의 값이 같이 참조되어 변수의 값들이 모두 변함 이를 해결하기 위해 변수의 값을 완전히 복사한 새로운 객체를 만드는 방법이 필요함 아래의 예제와 같이 실행하면 모든 딕셔너리 변수의 값이 변함 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 # Define a nested dictionary original_dict = { 'key1': 1, 'key2': [2, 3, 4], 'key3': { 'inner_key1': 'a', 'inner_key2': 'b' } } # Perform a copy new_copy_dict = original_dict # Modify the copy new_c..

Study/Python 2023.08.24

matplotlib에서 3D view의 axis ratio(비율) 조정하기

해결하고자 하는 문제 python을 통한 matplotlib기반 visualization에서 axis의 ratio를 조절해야할 때가 있음 해결 방법 : set_box_aspect 함수를 사용 set_box_aspect() 함수를 사용하여 플롯의 가로 세로 비율을 설정할 수 있음 이 함수는 x, y, z 축 비율을 나타내는 세 가지 값의 목록을 받음 아래의 예제에서는 현재 코드는 각 축에 대한 데이터 범위의 실제 차이를 반영하도록 종횡비를 설정 실제 데이터 범위와 관계없이 세 축 모두에 대해 종횡비를 동일하게 설정하는 주석 처리된 대체 방법도 포함되어 있음 아래는 예제코드임 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import matplot..

Study/Python 2023.04.21

list에서 중복 요소를 효율적으로 확인하는 방법

해결하고자 하는 문제 list에서 중복 요소를 효율적으로 확인하는 방법이 필요 해결 방법 : set()를 통한 확인 set()은 내부에 중복되지 않게 데이터 요소(element)를 저장함 또 set() 내부에 요소 존재 여부를 확인할 수 있음 list의 값을 set()에 넣기 전 확인하고 없으면 넣어주는 방법을 통해 효율적으로 확인할 수 있음 예제 코드는 아래와 같음 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 def is_duplicates(lst): seen = set() for item in lst: if item in seen: return True seen.add(item) return False # Example usage: my_list = [1, 2, 3, 4..

Study/Python 2023.04.21

matplotlib에서 임의의(random) color 자동 생성하기 : hex string 기반

해결하고자 하는 문제 python을 통한 visualization에서 matplotlib에서 랜덤한 color를 생성해야할 때가 있음 임의의 여러 데이터를 color로 표현할 때 color를 일일이 지정하는 것은 비효율적임 랜덤하게 color를 생성하여 입히는 것이 필요함 해결 방법 : 랜덤한 hex string 생성 후 color로 변환 여기서 랜덤하게 color hex string를 만들어 이를 기반으로 color를 생성하면 효율적임 Matplotlib에서 임의의 color hex string을 생성하려면 matplotlib.colors 모듈을 사용할 수 있음 code 예시는 다음과 같음 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import matplotlib.colors as..

Study/Python 2023.04.21

python bool list에서 True 개수 빨리 찾기

python list 객체의 count를 통한 bool list에서의 True 개수 빨리 찾기 파이썬에서 bool list의 True 값 수를 최대한 빨리 계산하려면 list 객체의 count() 메서드를 사용할 수 있음 예제는 다음과 같음 1 2 3 my_list = [True, False, True, True, False, True] count = my_list.count(True) print(count) # output: 4 cs 이 코드는 bool 값을 포함하는 list인 my_list를 생성한 다음 count() 메서드를 사용하여 목록에 있는 True 값의 수를 계산 결과는 count 변수에 저장된 다음 콘솔에 출력됨 이 접근 방식은 매우 효율적이며 O(n) 시간 복잡도(여기서 n은 목록의 길이..

Study/Python 2023.04.12

3차원 상의 한 점에서 가장 가까운 직선 위의 점 찾기

3차원 상의 한 점에서 가장 가까운 직선 위의 점 찾기 3차원 위의 어떤 두 점으로 이루어진 직선이 있음 또 다른 위치에 3차원 상의 한 점이 있음 이 점에서 가장 가까운 직선 위 한 점을 어떻게 찾을 수 있을까? 계산 방식과 원리가 궁금하지만 일에서 빠르게 적용하기 위해 stackoverflow(스택오버플로우)의 도움을 받음 한 점에서 가장 가까운 직선 위 점을 찾는 함수 이 함수는 입력으로 line을 이루는 두 점과 임의의 한 점을 입력으로 받음 line을 이루는 두 점 : a, b 임의의 한 점 : p 이 함수는 임의의 한 점 p에서 가장 가까운 line 위의 점을 결과로 return 함수의 소스코드는 다음과 같음 1 2 3 4 5 6 7 import numpy as np def ClosestPoi..

Study/Python 2022.07.04

3차원 상의 두 직선 사이 가장 가까운 점 구하기 (서로 다른 두 점으로 이루어진 두 직선 사이 가장 가까운 점들 구하기)

3차원 상의 두 직선 사이 가장 가까운 점 구하기 (서로 다른 두 점으로 이루어진 두 직선 사이 가장 가까운 점들 구하기) 직선은 서로 다른 두 점으로 이루어짐 이런 직선이 2개가 있다고 가정하였을 때, 두 직선 위 점들 중 서로 가장 가까운 점은 어떻게 찾아낼 수 있을까? 계산 방식과 원리가 궁금하지만 일에서 빠르게 적용하기 위해 stackoverflow(스택오버플로우)의 도움을 받음 두 직선 사이 가장 가까운 점 구하는 함수 두 직선을 이루는 각각의 점들은 다음과 같이 표현할 수 있음 line A : a0 및 a1 line B : b0 및 b1 이 함수는 위에서 설명된 4점을 입력으로 받음 (a0, a1, b0, b1) clamp은 직선을 연장하여 볼 것인지에 대한 입력 변수임 출력으로 각각 line..

Study/Python 2022.07.04
반응형