여러 개의 딕셔너리가 담긴 리스트에서 중복 없는 고유한(unique) 값들만 추출해야 하는 경우가 종종 있습니다. 이럴 때는 set 연산자와 리스트 메서드를 활용하면, 간단한 반복문과 함께 손쉽게 문제를 해결할 수 있습니다.예제아래는 실제 구현 예시입니다 −my_dictionary = [{Python : 11, is : 22}, {fun : 11, to : 33}, {learn : 22},{object:9},{oriented:11}]print(The dictionary is : )print(my_dictionary)my
정수 리스트의 각 요소에 알파벳을 순서대로 할당해야 하는 경우, 파이썬의 string.ascii_lowercase 속성과 리스트 컴프리헨션(list comprehension)을 활용하면 간단하게 해결할 수 있습니다.예제 코드아래는 이를 구현한 예제입니다.import string my_list = [11, 51, 32, 45, 21, 66, 12, 58, 90, 0] print(The list is : ) print(my_list) print(The list after sorting is : ) my_list.sort() p
Python Pandas에서 열 이름(column name)을 기준으로 DataFrame의 부분 집합(subset)을 추출하려면 대괄호([ ]), 즉 인덱싱 연산자를 사용하면 됩니다. DataFrame 이름 뒤에 대괄호를 붙이고 그 안에 원하는 열 이름을 문자열로 지정하기만 하면, 해당 열의 데이터를 손쉽게 가져올 수 있습니다. 기본 문법 부분 집합을 만드는 기본적인 형식은 다음과 같습니다. dataFrame[column_name] 단계별 구현 방법 1. 필요한 라이브러리 불러오기 먼저 pandas 라이브러리를 별칭(alias)과
iloc() 메서드란?Pandas에서 인덱스 위치를 기반으로 열의 특정 값을 선택해 하위 집합(subset)을 만들려면 iloc() 메서드를 사용합니다. iloc()는 정수 위치 기반 인덱싱(integer-location based indexing)을 지원하며, [행_범위, 열_범위] 형태로 슬라이싱할 수 있어 원하는 영역의 데이터를 간편하게 추출할 수 있습니다.먼저 pandas 라이브러리를 임포트합니다.import pandas as pdDataFrame 생성하기제품 재고 정보를 담은 DataFrame을 생성합니다. 이 DataFr
Pandas DataFrame에 새로운 행을 추가하려면 append() 메서드를 사용할 수 있습니다. 이 글에서는 두 개의 DataFrame을 만들고, 하나를 다른 하나 뒤에 연결하여 행을 추가하는 과정을 단계별로 살펴봅니다. 1. Pandas 라이브러리 불러오기 먼저 pandas를 별칭(alias)과 함께 임포트합니다. import pandas as pd 2. 첫 번째 DataFrame 생성 차량 이름을 담은 첫 번째 DataFrame을 만듭니다. dataFrame1 = pd.DataFrame(  
Pandas DataFrame에서 특정 행을 삭제하려면 drop() 메서드를 사용하고, 매개변수로 삭제하려는 행의 인덱스 레이블(index label)을 지정하면 됩니다.1. 기본 사용 방법먼저 예제로 사용할 DataFrame을 생성해 보겠습니다. 여기서는 인덱스 레이블을 w, x, y, z로 설정합니다.import pandas as pd dataFrame = pd.DataFrame([[10, 15], [20, 25], [30, 35], [40, 45]], index=[w, x, y,
Pandas 데이터프레임(DataFrame)에서 모든 행의 합계를 구하려면 sum() 함수를 사용하고 axis=1로 설정하면 됩니다. axis를 1로 지정하면 각 행의 값들이 가로 방향으로 더해져 행별 합계가 계산됩니다. 데이터프레임 생성하기 먼저 예제에 사용할 데이터프레임을 만들어 보겠습니다. 이 데이터프레임에는 Opening_Stock(기초 재고)과 Closing_Stock(기말 재고) 두 개의 열이 포함되어 있습니다. dataFrame = pd.DataFrame({ Opening_Stock: [300, 700, 12
NumPy의 where() 메서드를 활용하면 Pandas DataFrame을 간편하게 필터링할 수 있습니다. 이 메서드는 지정한 조건을 만족하는 요소의 인덱스 위치를 반환하기 때문에, 그 결과를 DataFrame의 loc[]과 함께 사용하면 조건에 맞는 행만 깔끔하게 추출할 수 있습니다. 필요한 라이브러리 임포트 먼저 필요한 라이브러리를 각각의 관례적인 별칭(alias)과 함께 임포트합니다. import pandas as pd import numpy as np 예제용 DataFrame 생성 제품 재고 정보를 담은 Pandas D
Pandas 인덱싱 연산자란? Pandas에서 DataFrame의 부분 집합(subset)을 만들 때 가장 기본적인 방법은 바로 대괄호 [ ] 형태의 인덱싱 연산자입니다. 이 연산자 안에 원하는 열 이름을 넣으면 해당 열만 추출한 새로운 DataFrame을 손쉽게 얻을 수 있습니다. 먼저 예제에 사용할 DataFrame을 생성해 보겠습니다. 이 DataFrame은 Product, Opening_Stock, Closing_Stock 세 개의 열을 가지고 있습니다. import pandas as pd dataFrame = pd.Dat
주어진 문자열을 구성하기 위해 필요한 최소 요소 개수를 구하려면 set 연산자, combinations 메서드, issubset 메서드와 간단한 반복문을 활용하면 됩니다. 예제 아래는 이에 대한 데모입니다. from itertools import combinations my_list = [python, is, fun, to, learn] print(The list is :) print(my_list) my_target_str = onis my_result = -1 my_set_string = set(my_target_str
리스트에 포함된 요소들의 누적 행 빈도(cumulative row frequency)를 계산해야 하는 경우, collections 모듈의 Counter 메서드와 리스트 컴프리헨션(list comprehension)을 함께 사용하면 간단하게 해결할 수 있습니다.Counter란?Counter는 해시 가능한(hashable) 객체를 키로, 그 개수를 값으로 저장하는 딕셔너리의 하위 클래스입니다. 리스트 내 각 요소가 몇 번 등장하는지 손쉽게 집계할 수 있어 빈도 계산에 매우 유용합니다.예제 코드다음은 중첩 리스트(리스트의 리스트)에서 특
리스트의 모든 요소에 주어진 숫자를 더해야 하는 경우, 리스트 컴프리헨션(list comprehension)을 사용하면 가장 간결하고 효율적으로 처리할 수 있습니다.예제아래는 실제 동작 과정을 보여주는 예제입니다.my_list = [25,36, 75, 36, 17, 7, 8, 0] print (The list is :) print(my_list) my_key = 6 my_result = [x + my_key for x in my_list] print (The resultant list is :) print(my_result)
리스트(행렬) 안에 여러 개의 행이 있을 때, 각 행에서 인접한 두 요소 간 차이의 절댓값 합을 기준으로 행들을 오름차순으로 정렬해야 하는 경우가 있습니다. 파이썬에서는 사용자 정의 함수를 만들고 이를 sort() 메서드의 key 인자로 전달하는 방식으로 손쉽게 구현할 수 있습니다.예제 코드아래 예제는 위 방식을 실제로 구현한 것입니다.def diff_summation_elem(row): return sum([abs(row[index + 1] - row[index]) for index in range(0, len(row) -
파이썬에서 단어 목록(리스트) 중 가장 긴 단어의 길이를 반환해야 하는 경우가 자주 있습니다. 이때 리스트를 매개변수로 받는 함수를 정의하고, 각 요소의 길이를 비교하여 최대 길이를 찾아 결과로 출력하면 됩니다.예제 코드다음은 이를 구현한 예제입니다.def find_longest_length(my_list): max_length = len(my_list[0]) temp = my_list[0] for element in my_list: &
파이썬에서 리스트, 튜플, 딕셔너리, 세트처럼 복잡한 데이터 유형이 포함된 행을 추출해야 할 때는 isinstance 메서드와 리스트 컴프리헨션(list comprehension)을 조합하면 간결하게 해결할 수 있습니다.isinstance()는 특정 객체가 지정한 자료형의 인스턴스인지 확인하는 내장 함수로, 단순히 type()으로 비교하는 것보다 상속 관계까지 고려한 유연한 타입 검사가 가능합니다.예제 코드아래는 중첩된 리스트에서 복잡한 데이터 유형이 들어 있는 행만 골라내는 예제입니다.my_list = [[13, 1, 35], [
행렬(중첩 리스트)을 회문(palindrome) 개수를 기준으로 정렬해야 하는 경우가 있습니다. 이럴 때 리스트를 매개변수로 받는 메서드를 하나 정의하고, 리스트 컴프리헨션과 join 메서드를 활용해 각 요소가 회문인지 판별한 뒤, 그 개수를 정렬 키로 사용하면 됩니다.여기서 회문이란 앞에서 읽으나 뒤에서 읽으나 같은 문자열을 의미합니다. 예를 들어 level, noon, sees 등이 대표적인 회문입니다.예제 코드아래는 회문 개수를 기준으로 행렬을 정렬하는 전체 예제입니다.def get_palindrome_count(row):
리스트 안에 여러 개의 리스트(행)가 포함된 데이터에서, 각 행의 요소 합계를 기준으로 가장 큰 값을 가진 특정 개수의 행만 추출해야 하는 경우가 있습니다. 이럴 때 파이썬의 sorted 함수와 lambda 표현식을 함께 사용하면 매우 간단하게 해결할 수 있습니다. 예제 코드 아래는 합계가 가장 큰 상위 3개의 행을 추출하는 예시입니다. my_list = [[2, 4, 6, 7], [2, 4, 8], [45], [1, 3, 5, 6], [8, 2, 1]] print(The list is :) print(my_list) my_ke
행렬(리스트의 리스트)에서 원하는 길이를 가진 행만 골라내어 출력해야 하는 경우, 리스트 컴프리헨션(list comprehension)을 활용하면 간결하고 효율적으로 처리할 수 있습니다.예제 코드아래는 리스트 컴프리헨션을 사용해 길이가 4인 행만 필터링하는 예제입니다.my_list = [[22, 4, 63, 7], [24, 4, 85], [95], [2, 55, 4, 7, 91], [5, 31, 1]] print(The list is :) print(my_list) my_key = 4 my_result = [sub for su
리스트에서 특정 값 x가 처음 나타나는 위치 이전에 있는 모든 y 값을 제거해야 하는 경우가 있습니다. 이럴 때 파이썬(Python)의 리스트 컴프리헨션(list comprehension)과 index 메서드를 함께 사용하면 간단하게 해결할 수 있습니다. 예제 코드 아래 예제를 통해 실제 동작 방식을 확인해 보겠습니다. my_list = [4, 45, 75, 46, 66, 77, 48, 99, 10, 40, 5, 8] print(The list is :) print(my_list) a, b = 8, 4 index_a = m
파이썬에서 리스트의 연속된 요소들을 재정렬해야 하는 경우, collections 모듈의 Counter 클래스와 빈 리스트, 그리고 간단한 반복문을 활용하면 손쉽게 해결할 수 있습니다.Counter는 리스트 내 각 요소의 등장 횟수(빈도)를 딕셔너리 형태로 계산해 주는 도구로, 이를 이용하면 중복된 요소들이 서로 인접하도록 리스트를 재배치할 수 있습니다.예제 코드아래는 위 방식을 구현한 예제입니다.from collections import Counter my_list = [21, 83, 44, 52, 61, 72, 81, 96, 1