파이썬에서 리스트의 각 요소를 약수(인수)의 개수를 기준으로 정렬해야 하는 경우가 있습니다. 이럴 때는 리스트 컴프리헨션과 나머지 연산자(%), 그리고 len() 메서드를 활용하는 함수를 직접 정의한 뒤, sort() 메서드의 key 인자로 전달하면 간단하게 해결할 수 있습니다. 예제 코드 다음은 약수 개수를 기준으로 리스트를 정렬하는 전체 예제입니다. def factor_count(element): return len([element for index in range(1, element) if element % index
문자열 리스트에서 특정 범위에 해당하는 문자들만 추출해야 할 때는 리스트 컴프리헨션(list comprehension)과 리스트 슬라이싱(slicing)을 함께 사용하면 매우 간단하게 해결할 수 있습니다.리스트의 모든 요소를 하나의 문자열로 연결한 뒤, 원하는 인덱스 범위만큼 잘라내어 새로운 문자열을 만드는 방식입니다.예제 코드아래는 문자열 리스트에서 주어진 범위의 문자를 추출하는 파이썬 프로그램 예제입니다.my_list = [python, is, fun, to, learn] print(The list is :) print(my_
파이썬에서 정수로 이루어진 행렬(2차원 리스트)을 문자열 행렬로 변환해야 하는 경우, 리스트 컴프리헨션(list comprehension)을 활용하면 매우 간단하게 처리할 수 있습니다. 별도의 함수를 만들거나 복잡한 반복문을 작성할 필요 없이 한 줄의 코드로 해결됩니다. 예제 코드 아래는 정수 행렬을 문자열 행렬로 변환하는 전체 예시입니다 − my_list = [[14, 25, 17], [40, 28, 13], [59, 44, 66], [29, 33, 16]] print(The list is :) print(my_li
행렬(매트릭스)의 각 요소를 딕셔너리에 매핑해야 할 때는 간단한 반복문을 사용하면 손쉽게 처리할 수 있습니다. 이 글에서는 중첩 리스트의 모든 요소를 딕셔너리의 키로 조회하여 새로운 값으로 변환하는 방법을 살펴봅니다. 예제 코드 아래는 리스트 안의 리스트(중첩 리스트)를 딕셔너리로 매핑하는 전체 예제입니다. my_list = [[2, 4, 3], [4, 1, 3], [2, 1, 3, 4]] print(The list :) print(my_list) map_dict = {2 : Python, 1: fun, 3 : to, 4
개요파이썬에서 여러 개의 딕셔너리가 담긴 리스트에서, 각 딕셔너리의 값(value)들을 모두 더한 합계가 특정 기준값 K보다 큰 항목만 골라내야 하는 경우가 종종 있습니다. 이럴 때는 간단한 반복문과 if 조건문만으로도 손쉽게 해결할 수 있습니다.예제아래는 전체 구현 예시입니다 −my_list = [{"Python" : 14, "is" : 18, "fun" : 19},{"Python" : 12, "is": 4, "fun&qu
파이썬 프로그래밍을 하다 보면 문자열 리스트 안의 각 문자가 몇 번째 요소(인덱스)에 나타나는지 확인해야 하는 경우가 있습니다. 이런 문제는 단순한 반복문과 defaultdict, 그리고 add 메서드만으로도 손쉽게 해결할 수 있습니다. 예제 코드 다음은 문자열 리스트의 각 문자를 해당 인덱스와 매핑하는 과정을 보여주는 예제입니다. from collections import defaultdict my_list = [p y t h o n, i s, f u n, t o, l e a r n] print(The list is :) pr
중첩 리스트에서 모든 요소가 K의 배수인 행(하위 리스트)만 골라내야 하는 경우가 있습니다. 이럴 때 리스트 컴프리헨션(list comprehension)과 나머지 연산자(%)를 함께 사용하면 코드 한 줄로 간결하게 해결할 수 있습니다.핵심 아이디어각 행을 순회하면서 행 안의 모든 요소를 K로 나눈 나머지가 0인지 검사합니다. 이때 파이썬 내장 함수 all()을 사용하면 행 전체가 조건을 만족하는지 한 번에 확인할 수 있습니다. 하나라도 조건을 만족하지 않는 요소가 있으면 그 행은 결과에서 제외됩니다.예제 코드my_list = [[
특정 문자들만으로 구성된 문자열 조건에 맞는 튜플을 필터링해야 하는 경우, 리스트 컴프리헨션(list comprehension)과 all 연산자를 활용하면 간결하게 처리할 수 있습니다.예제 코드아래는 실제 동작을 보여주는 예제입니다.my_list = [(pyt, best), (pyt, good), (fest, pyt)] print(The list is :) print(my_list) char_string = pyestb my_result = [index for index in my_list if all(all(sub in ch
리스트 안에 연속적으로 반복되는 동일한 요소들이 있을 때, 각 요소가 어느 인덱스 범위에 걸쳐 있는지 추출해야 하는 경우가 있습니다. 이럴 때는 간단한 while 반복문과 append 메서드를 활용하면 손쉽게 해결할 수 있습니다.예제아래는 실제 구현 예시입니다.my_list = [12, 23, 23, 23, 48, 48, 36, 17, 17] print(The list is : ) print(my_list) my_result = [] index = 0 while index < (len(my_list)): &nb
파이썬에서 문자열에 포함된 숫자만 골라내야 하는 경우, 리스트 컴프리헨션(list comprehension)과 isdigit() 메서드를 조합하면 매우 간단하게 해결할 수 있습니다. 이 글에서는 기본적인 추출 방법과 함께, 더 복잡한 상황에서 유용하게 쓸 수 있는 정규표현식 방법까지 소개합니다.예제 코드아래는 공백으로 구분된 문자열에서 숫자를 추출하는 대표적인 예제입니다.my_string = python is 12 fun 2 learn print(The string is : ) print(my_string) my_result =
파이썬에서 행렬(리스트의 리스트)을 각 행에 포함된 None 값의 개수, 즉 빈도를 기준으로 정렬해야 하는 경우가 있습니다. 이럴 때는 별도의 함수를 정의한 뒤, 리스트 컴프리헨션과 not 연산자, len 메서드를 조합해 None의 개수를 계산하고, 그 결과를 sort 메서드의 key로 지정하면 손쉽게 해결할 수 있습니다. 예제 코드 아래는 None 빈도를 기준으로 행렬을 정렬하는 방법을 보여주는 예제입니다. def get_None_freq(row): return len([element for element
리스트의 각 문자열을 마지막(뒤) 문자를 기준으로 정렬해야 하는 경우가 있습니다. 이럴 때는 sort() 메서드의 key 매개변수에 음수 인덱싱(negative indexing)을 활용하는 함수를 지정하면 간단하게 해결할 수 있습니다.예제 코드아래는 마지막 문자를 기준으로 리스트를 정렬하는 예제입니다.def get_rear_position(element): return element[-1] my_list = [python, is, fun, to, learn] print(The list is : ) print(my_list
튜플로 이루어진 리스트에서 각 값(두 번째 요소)에 대해 고유한 키(첫 번째 요소)가 몇 개 존재하는지 세어야 하는 경우가 있습니다. 이럴 때 defaultdict, set 연산자, 그리고 append 메서드를 활용하면 손쉽게 해결할 수 있습니다.예제 코드아래는 실제 동작을 보여주는 예제입니다.from collections import defaultdict my_list = [(12, 32), (12, 21), (21, 32), (89, 21), (71, 21), (89, 11), (99, 10), (8, 23), (10, 23)
리스트에서 값이 감소하기 시작하는 지점(감소 지점)을 찾아야 할 때는 간단한 반복문과 break 문을 활용하면 됩니다. 인접한 두 요소를 차례로 비교하여, 뒤의 요소가 앞의 요소보다 작아지는 순간의 인덱스를 찾아내는 방식입니다.예제 코드다음은 이를 구현한 예제입니다.my_list = [21, 62, 53, 94, 55, 66, 18, 1, 0] print(The list is :) print(my_list) my_result = -1 for index in range(0, len(my_list) - 1): if my_l
파이썬에서 문자열에 포함된 각 단어가 몇 번 등장하는지 확인해야 할 때, 딕셔너리 컴프리헨션(dictionary comprehension)을 활용하면 복잡한 반복문 없이도 한 줄로 간결하게 처리할 수 있습니다. 예제 코드 다음은 문자열 내 단어 빈도를 계산하는 예시입니다. my_str = Hi there Will, how are you Will, Will you say Hi to me print(The string is : ) print(my_str) my_result = {key: my_str.count(key) for ke
Pandas 다중 인덱스(MultiIndex)란 무엇인가?다중 인덱스 데이터프레임(MultiIndex DataFrame)은 하나가 아닌 두 개 이상의 인덱스를 가지는 데이터프레임을 말합니다. 여러 계층의 인덱스를 활용하면 복잡한 데이터를 체계적으로 구성하고, 인덱스 수준별로 손쉽게 그룹화하거나 집계할 수 있다는 장점이 있습니다.이번 글에서는 데스크톱에 저장된 다음과 같은 CSV 파일(sales.csv)을 예시로 사용합니다.1단계: Pandas 라이브러리 임포트 및 CSV 파일 불러오기먼저 pandas 라이브러리를 임포트한 후, 앞서
문자열에서 가장 자주 사용되는 문자를 찾아야 하는 경우가 있습니다. 이를 구현하는 대표적인 방법은 빈 딕셔너리(dictionary)를 생성한 뒤, 문자열의 각 문자를 하나씩 순회하면서 등장 횟수를 세는 것입니다. 딕셔너리에 해당 문자가 이미 존재하면 값을 1 증가시키고, 없다면 1로 초기화합니다. 마지막으로 딕셔너리의 값들 중 최댓값을 찾아 변수에 할당하면 됩니다.예제 코드다음은 실제 동작을 보여주는 예제입니다.my_string = Python-Interpreter print(The string is : ) print(my_str
Pandas에서 한 DataFrame의 열을 다른 DataFrame으로 가져와 추가하려면 insert() 메서드를 사용하면 됩니다. 이 메서드는 단순히 열을 끝에 붙이는 것이 아니라, 원하는 위치(인덱스)에 정확히 삽입할 수 있다는 점에서 매우 유용합니다.먼저 첫 번째 DataFrame을 생성해 보겠습니다.dataFrame1 = pd.DataFrame({Car: [Audi, Lamborghini, BMW, Lexus], Place: [US, UK, India, Australia], Units: [200, 500, 80
Pandas에서 항목(값)의 빈도를 계산하려면 Series.value_counts() 메서드를 사용하면 됩니다. 이 메서드는 특정 열에 포함된 각 고유 값이 몇 번 등장하는지 손쉽게 세어 줍니다.먼저 예제에 사용할 DataFrame을 생성해 보겠습니다.# DataFrame 생성 dataFrame = pd.DataFrame({Car: [BMW, Mercedes, Lamborghini, Audi, Mercedes, Porsche, Lamborghini, BMW], Place: [Delhi, Hyderabad, Chandigarh,
개요여러 명이 각각 작성한 엑셀 파일이나 월별·부서별로 나뉜 매출 데이터를 하나의 파일로 합쳐야 하는 경우가 자주 있습니다. 이럴 때 파이썬의 glob 모듈로 폴더 안의 엑셀 파일 목록을 자동으로 가져오고, pandas의 read_excel(), concat(), append() 메서드를 조합하면 클릭 몇 번 없이도 손쉽게 병합할 수 있습니다.예를 들어 바탕화면에 아래와 같이 두 개의 엑셀 파일이 있다고 가정해 보겠습니다.Sales1.xlsxSales2.xlsx참고: 사용 환경에 따라 엑셀 파일을 읽기 위해 openpyxl(.xls