Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python

  1. Python – 리스트가 회문인지 확인하는 방법

    리스트가 회문(palindrome)인지 확인해야 할 때는, 문자열을 뒤집은 후 원본 문자열과 비교하는 메서드를 정의하면 됩니다. 비교 결과에 따라 콘솔에 적절한 메시지를 출력하며, 이 과정에서 리스트 컴프리헨션(list comprehension)과 join 메서드가 활용됩니다. 회문(Palindrome)이란? 회문이란 앞에서 읽으나 뒤에서 읽으나 동일한 문자열이나 수열을 의미합니다. 예를 들어 [77, 1, 56, 65, 1, 77]처럼 요소들이 좌우 대칭을 이루는 경우 회문이라고 할 수 있습니다. 예시 코드 다음은 리스트가 회문인

  2. Python – 리스트에서 'K' 바로 앞에 위치한 요소 추출하기

    리스트에서 특정 값 K 바로 앞에 위치한 요소를 추출해야 하는 경우가 있습니다. 이럴 때는 간단한 반복문과 append 메서드를 활용하면 손쉽게 해결할 수 있습니다.예제아래는 이를 구현한 예시 코드입니다.my_list = [45, 65, 32, 78, 99, 10, 21, 2]print(The list is : )print(my_list)K = 99print(The value of K is )print(K)my_result = []for elem in range(len(my_list) - 1): if my_list[elem +

  3. Pandas DataFrame을 분 단위로 그룹화하는 방법 – pd.Grouper 완벽 가이드

    Pandas에서 시간 기준으로 데이터를 묶어 집계하고 싶다면 groupby() 함수와 pd.Grouper를 함께 사용하는 것이 가장 효과적입니다. 이 글에서는 자동차 판매 기록 데이터를 예로 들어, 분(minute) 단위 간격으로 DataFrame을 그룹화하고 구간별 등록 가격(Reg_Price)의 합계를 계산하는 방법을 알아보겠습니다.예제 데이터 준비하기먼저 세 개의 열(Car, Date_of_Purchase, Reg_Price)로 구성된 DataFrame을 만듭니다. 여기서 Date_of_Purchase 열은 날짜와 시간을 모두

  4. Python – K 크기의 하위 리스트 최대 합을 기준으로 행렬 정렬하기

    리스트(행렬)를 K 크기의 연속된 하위 리스트(subarray) 합계 중 최댓값을 기준으로 정렬해야 하는 경우가 있습니다. 이럴 때 파이썬에서는 max와 sum 내장 함수를 활용한 사용자 정의 키 함수를 만들어 sort() 메서드에 적용하면 간단하게 해결할 수 있습니다.예제 코드아래 예제를 통해 실제 동작 방식을 확인해 보겠습니다.def sort_matrix_K(my_list): return max(sum(my_list[index: index + K]) for index in range(len(my_list) - K)) my

  5. Python – enumerate로 인덱스 값과 요소의 곱을 구해 합계 계산하기

    리스트의 각 요소에 해당 인덱스 값을 곱한 뒤, 그 결과를 모두 더한 합계를 구해야 하는 경우 파이썬의 내장 함수인 enumerate를 활용하면 간단하게 해결할 수 있습니다. enumerate는 리스트를 순회할 때 인덱스와 요소를 동시에 반환해 주기 때문에 별도의 카운터 변수 없이 깔끔한 코드 작성이 가능합니다. 예제 코드 아래는 인덱스 값과 요소의 곱을 누적하여 합계를 구하는 예제입니다. my_list = [71, 23, 53, 94, 85, 26, 0, 8] print(The list is :) print(my_list) m

  6. 파이썬으로 K개의 서로 다른 문자를 포함하는 길이 N의 부분 문자열 찾기

    프로그래밍 문제를 풀다 보면 K개의 서로 다른(고유한) 문자를 포함하는 크기 N의 부분 문자열을 찾거나 생성해야 하는 경우가 있습니다. 이럴 때 세 개의 매개변수를 받아 필요한 문자열을 반환하는 함수를 정의하고, if 조건문을 활용하면 간단하게 해결할 수 있습니다.예제 코드다음은 해당 기능을 구현한 파이썬 코드 예시입니다.def generate_my_string(string_size, substring_size, distinct_chars): my_string = count_1 = 0 count_2 = 0

  7. 파이썬으로 리스트에서 'K' 거리 이내에 없는 요소 찾는 방법

    리스트에서 K 거리 이내에 속하지 않는 요소를 찾아야 할 때는 간단한 반복문과 append 메서드를 활용하면 됩니다. 각 요소에 대해 키 값을 더하거나 뺀 결과가 원래 리스트에 존재하는지 확인하고, 존재하지 않는 경우에만 결과 리스트에 추가하는 방식입니다.예제아래는 실제 동작 예시입니다.my_list = [91, 13, 19, 25, 35, 3, 9, 11, 0] print("The list is :") print(my_list) my_key = 2 print("The key is ") pri

  8. Python Pandas - 배열(Array)로 다중 인덱스(MultiIndex) 생성하는 방법

    Pandas에서는 MultiIndex.from_arrays() 메서드를 사용하여 여러 개의 배열(리스트)을 조합해 다중 인덱스를 손쉽게 만들 수 있습니다. 다중 인덱스는 하나의 인덱스 축에 여러 계층의 레벨을 두어 복잡한 데이터를 체계적으로 관리할 때 유용합니다.이번 글에서는 자동차 이름 배열과 등록 가격 배열 두 개를 결합하여 다중 인덱스를 생성하는 과정을 단계별로 살펴보겠습니다.1단계: 자동차 이름 배열 생성먼저 예제에 사용할 자동차 이름으로 구성된 배열을 만듭니다.car = [Audi, Lexus, Tesla, Mercedes

  9. 파이썬으로 리스트에서 각 K 지점까지 그룹 합계 구하기

    리스트에서 특정 키 값(K)을 만날 때마다 그룹별 누적 합계를 구해야 하는 경우가 있습니다. 이럴 때는 간단한 반복문(iteration)과 append 메서드를 활용하면 손쉽게 해결할 수 있습니다.동작 원리리스트의 요소를 하나씩 순회하면서 다음과 같은 규칙으로 처리합니다.현재 요소가 키 값과 다르면 → 합계에 계속 더합니다.현재 요소가 키 값과 같으면 → 지금까지 누적된 합계와 키 값을 결과 리스트에 저장한 뒤, 합계를 0으로 초기화합니다.모든 순회가 끝나면 마지막으로 남아 있는 합계도 결과 리스트에 추가하여 완성합니다.예제 코드다

  10. 파이썬 – 연속 요소 거듭제곱의 합 구하기

    리스트에서 연속으로 반복되는 요소들을 찾아, 각 요소를 반복 횟수만큼 거듭제곱한 뒤 모두 더해야 하는 경우가 있습니다. 이럴 때 if 조건문과 간단한 반복문, 그리고 ** 거듭제곱 연산자를 활용하면 손쉽게 해결할 수 있습니다.예제아래는 실제 구현 예시입니다.my_list = [21, 21, 23, 23, 45, 45, 45, 56, 56, 67] print(The list is :) print(my_list) my_freq = 1 my_result = 0 for index in range(0, len(my_list) - 1):

  11. Python – 딕셔너리 리스트에서 K번째 인덱스 값으로 값 교체하기

    딕셔너리 여러 개로 이루어진 리스트에서 특정 키의 값을 해당 리스트의 K번째 인덱스 값으로 교체해야 할 때는 isinstance 메서드와 간단한 반복문을 활용하면 됩니다. 이 방식은 값의 자료형을 먼저 확인한 뒤 조건에 맞는 경우에만 교체를 수행하기 때문에 안전하게 동작합니다. 예제 다음은 실제 구현 과정을 보여주는 예시입니다. my_list = [{python: [5, 7, 9, 1], is: 8, good: 10}, {python: 1, for: 10, fun: 9}, {cool: 3, python: [7, 3,

  12. Python Pandas – 두 날짜 사이의 DataFrame 행 필터링하는 방법

    Pandas DataFrame에서 두 날짜 사이에 해당하는 행만 추출하고 싶다면 dataframe.loc 속성과 비교 연산자를 조합하면 됩니다. 먼저 필요한 라이브러리를 임포트합니다.import pandas as pd날짜 기록을 담은 딕셔너리(리스트 값 형태)를 생성합니다.d = {Car: [BMW, Lexus, Audi, Mercedes, Jaguar, Bentley], Date_of_Purchase: [2021-07-10, 2021-08-12, 2021-06-17, 2021-03-16, 2021-02-19, 2021-0

  13. 파이썬에서 값이 정렬된 순서인 딕셔너리만 골라내기

    딕셔너리에 담긴 값들이 오름차순으로 정렬되어 있는 항목만 걸러내야 하는 경우, 파이썬의 sorted 메서드와 리스트 컴프리헨션(list comprehension)을 함께 사용하면 간단하게 해결할 수 있습니다.코드 예제다음은 실제 동작 과정을 보여주는 예제입니다.my_list = [{python: 2, is: 8, fun: 10}, {python: 1, for: 10, coding: 9}, {cool: 3, python: 4}] print(The list is :) print(my_list) my_result = [in

  14. Python – 리스트 요소를 인접한 가장 큰 이웃 값으로 교체하기

    리스트의 각 요소를 자신의 양쪽 이웃 중 더 큰 값으로 교체해야 하는 경우, 간단한 반복문과 if, else 조건문을 활용하면 손쉽게 해결할 수 있습니다.예제아래는 해당 기능을 구현한 예시입니다.my_list = [41, 25, 24, 45, 86, 37, 18, 99] print(The list is :) print(my_list) for index in range(1, len(my_list) - 1): my_list[index] = my_list[index - 1] if my_list[index - 1] > my

  15. 접미사를 활용해 K 길이 기준으로 문자열을 그룹화하는 Python 프로그램

    Python에서 문자열들을 끝에서 K 길이만큼 잘라낸 접미사(suffix)를 기준으로 그룹화해야 하는 경우가 있습니다. 이럴 때는 간단한 반복문과 함께 try, except 블록을 활용하면 손쉽게 구현할 수 있습니다. 예제 코드 아래는 문자열 목록을 접미사 기준으로 그룹화하는 전체 예제입니다. my_list = [peek, leak, creek, weak, good, week, wood, sneek] print(The list is :) print(my_list) K = 3 print(The value of K is ) pr

  16. Pandas에서 오른쪽 외부 조인(Right Outer Join)으로 DataFrame 병합하기

    Pandas에서 여러 개의 DataFrame을 하나로 합치려면 merge() 함수를 사용하면 됩니다. 이 중 오른쪽 외부 조인(Right Outer Join)은 merge() 함수의 how 매개변수에 아래 값을 설정하여 구현합니다. how = right 오른쪽 외부 조인은 오른쪽(두 번째) DataFrame의 모든 행을 그대로 유지하면서 병합하며, 왼쪽 DataFrame에 일치하는 키가 존재하지 않는 경우 해당 값은 NaN(결측치)으로 채워집니다. 먼저 pandas 라이브러리를 별칭(alias)과 함께 임포트합니다. import p

  17. Pandas DataFrame 행을 리스트로 그룹화하는 방법 – groupby와 apply(list) 활용하기

    Pandas에서 DataFrame의 행을 리스트(list) 형태로 그룹화하려면 groupby()와 함께 apply() 함수를 사용하면 됩니다. 이 방법을 활용하면 특정 열을 기준으로 데이터를 묶고, 각 그룹에 속한 값들을 하나의 리스트로 정리할 수 있습니다.1. 라이브러리 불러오기먼저 필요한 Pandas 라이브러리를 임포트합니다.import pandas as pd2. 샘플 DataFrame 생성예제를 위해 Car와 Units 두 개의 열을 가진 DataFrame을 만들어 보겠습니다.dataFrame = pd.DataFrame(

  18. Pandas interpolate()로 NaN 값을 선형 보간법으로 채우는 방법

    Pandas에서 선형 보간(Linear Interpolation)으로 NaN 채우기데이터 분석을 하다 보면 결측치(NaN)를 적절한 값으로 채워야 하는 경우가 자주 발생합니다. Pandas에서는 interpolate() 메서드를 사용하면 시리즈(Series)의 NaN 값을 선형 보간법으로 손쉽게 채울 수 있습니다.선형 보간은 누락된 값의 앞뒤에 있는 값들을 기준으로 일정한 간격으로 값을 추정하는 방식입니다. 예를 들어 20과 40 사이에 NaN이 있다면, 그 사이 값인 30으로 채워집니다.1단계: 필요한 라이브러리 임포트하기먼저 P

  19. 파이썬으로 문자열에서 가장 빈도가 낮은 문자 찾는 방법

    문자열에서 가장 드물게 등장하는(빈도가 가장 낮은) 문자를 찾아야 하는 경우, 파이썬의 Counter 클래스를 사용하면 간단하게 해결할 수 있습니다. Counter로 각 글자의 개수를 센 뒤, min 함수를 사용해 개수가 가장 작은 값을 가진 문자를 추출하는 방식입니다.동작 원리Counter는 문자열을 입력받으면 각 문자를 키(key)로, 등장 횟수를 값(value)으로 하는 딕셔너리 형태의 객체를 반환합니다. 여기에 min 함수에 key=my_result.get 옵션을 지정하면, 문자 자체가 아닌 각 문자의 개수를 기준으로 비교하

  20. 파이썬(Python)에서 문자열에 특수 문자가 포함되어 있는지 확인하는 방법

    파이썬으로 개발을 하다 보면 특정 문자열에 특수 문자가 포함되어 있는지 확인해야 하는 경우가 종종 있습니다. 이럴 때는 check_string이라는 메서드를 정의하고, 정규 표현식(regular expression)과 re 모듈의 compile 메서드를 활용하여 문자열 내에 특수 문자의 존재 여부를 손쉽게 검사할 수 있습니다. 메서드 외부에서 문자열을 정의한 뒤, 해당 문자열을 매개변수로 전달하며 메서드를 호출하는 방식으로 동작합니다.예제 코드아래는 위 내용을 구현한 전체 예제입니다.import re def check_string

Total 8989 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:345/450  20-컴퓨터/Page Goto:1 339 340 341 342 343 344 345 346 347 348 349 350 351