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

Python

  1. 파이썬으로 세트 리스트에서 중복 세트 찾기 — Counter와 frozenset 활용법

    세트(set)로 이루어진 리스트 안에서 중복된 세트를 찾아야 할 때는 파이썬의 Counter와 frozenset을 함께 사용하면 아주 간단하게 해결할 수 있습니다. 핵심 아이디어 일반적인 세트는 변경 가능(mutable)한 객체이기 때문에 해시(hash) 값을 가질 수 없어 Counter의 키로 직접 사용할 수 없습니다. 반면 frozenset은 불변(immutable) 객체이므로 해시가 가능하며, 이를 활용하면 세트 자체를 빈도 계산의 기준으로 삼을 수 있습니다. 예제 코드 다음은 세트 리스트에서 중복 세트를 찾는 과정을 보여주는

  2. Python으로 N의 처음 K개 거듭제곱 값 구하기

    특정 숫자의 거듭제곱 값을 여러 개 구해야 할 때, 파이썬에서는 ** 연산자와 리스트 컴프리헨션(list comprehension)을 함께 사용하면 간단하게 처리할 수 있습니다. 예제 코드 아래는 그 구현 방법을 보여주는 예제입니다. n = 4 print(The value n is : ) print(n) k = 5 print(The value of k is : ) print(k) result = [n ** index for index in range(0, k)] print(The square values of N till K

  3. Python – 특정 백분율 범위에 속하는 요소 빈도 구하기

    리스트에서 특정 백분율 범위에 해당하는 빈도를 가진 요소를 찾아야 하는 경우가 있습니다. 이럴 때 파이썬의 Counter 클래스와 간단한 반복문을 조합하면 손쉽게 해결할 수 있습니다.Counter는 컬렉션 모듈(collection module)에서 제공하는 도구로, 리스트와 같은 반복 가능한 객체를 전달하면 각 요소가 몇 번 등장했는지 자동으로 계산해 딕셔너리 형태로 반환해 줍니다. 이 결과를 활용해 전체 데이터에서 차지하는 비중(백분율)을 구하고, 원하는 범위에 들어가는 요소만 추출할 수 있습니다.예제 코드다음은 13% 이상 60

  4. 파이썬 Pandas DataFrame에 0으로 채워진 열 추가하는 방법

    Pandas DataFrame에 0 열 추가하기Pandas DataFrame에 모든 값이 0인 새로운 열을 추가하는 방법은 매우 간단합니다. 대괄호([]) 안에 새 열 이름을 지정하고 값으로 0을 할당하기만 하면 됩니다. 이렇게 하면 DataFrame의 모든 행에 대해 해당 열의 값이 자동으로 0으로 설정됩니다.먼저 필요한 라이브러리를 임포트합니다.import pandas as pd3개의 열(Student, Result, Roll Number)을 가진 DataFrame을 생성해 보겠습니다.dataFrame = pd.DataFrame

  5. Python - 리스트에서 연속된 문자열 요소 그룹화하기

    리스트 안에서 연속으로 이어진 문자열 요소들을 하나의 그룹으로 묶어야 하는 경우가 있습니다. 이럴 때 itertools 모듈의 groupby 함수와 제너레이터의 yield 키워드를 활용하면 간단하게 해결할 수 있습니다.예제 코드아래 예제를 통해 실제 동작 방식을 확인해 보겠습니다.from itertools import groupby def string_check(elem): return isinstance(elem, str) def group_string(my_list): for key, grp in groupby

  6. Python으로 문자열의 모든 중복 순열(문자 반복 조합) 생성하기

    주어진 문자열로 만들 수 있는 모든 문자 반복 조합(중복 순열)을 구해야 하는 경우, 인덱스 값을 활용하는 재귀 함수를 정의하여 각 조합을 사전순으로 출력할 수 있습니다. 이 방식은 각 자리에 들어갈 문자를 하나씩 채워 나가는 깊이 우선 탐색과 유사한 원리로 동작합니다. 예제 코드 아래는 이를 구현한 예제입니다. def to_string(my_list): return .join(my_list) def lex_recurrence(my_string, my_data, last_val, index_val): length =

  7. Python Pandas – DataFrame 열의 데이터 유형(dtype) 확인하기

    DataFrame의 각 열이 어떤 데이터 유형을 가지고 있는지 확인하는 것은 데이터 분석의 첫걸음입니다. pandas에서는 info() 메서드 하나만으로 각 열의 데이터 유형은 물론, 결측치 개수와 전체 메모리 사용량까지 한 번에 확인할 수 있습니다. 1. 라이브러리 가져오기 먼저 필요한 pandas 라이브러리를 임포트합니다. import pandas as pd 2. DataFrame 생성하기 서로 다른 데이터 유형을 가진 두 개의 열, 즉 문자열인 Student 열과 정수형인 Roll Number 열로 구성된 DataFrame을

  8. Python Pandas - 특정 데이터 타입(dtype)을 가진 열 선택하기

    select_dtypes() 메서드란?pandas DataFrame에서 특정 데이터 타입(dtype)을 가진 열만 골라내고 싶다면 select_dtypes() 메서드를 사용하면 됩니다. 이 메서드는 include 매개변수에 원하는 dtype 목록을 지정하면, 해당 조건에 맞는 열들만 자동으로 필터링해 줍니다.예를 들어 문자열(object) 타입의 열이나 정수(int64) 타입의 열만 따로 추출해야 하는 경우, 열 이름을 하나씩 확인하지 않아도 한 번의 호출로 손쉽게 처리할 수 있습니다.예제 DataFrame 만들기먼저 두 개의 열을

  9. Python – 딕셔너리를 활용해 Pandas DataFrame의 여러 열 이름 한 번에 변경하기

    Pandas DataFrame에서 여러 열(column) 헤더의 이름을 한 번에 변경하려면 rename() 메서드를 사용하고, 기존 이름과 새 이름을 매핑한 딕셔너리를 columns 매개변수에 전달하면 됩니다. 이 글에서는 단계별 예제와 함께 그 과정을 자세히 살펴보겠습니다. 1단계: DataFrame 생성 먼저 예제로 사용할 DataFrame을 만들어 보겠습니다. import pandas as pd dataFrame = pd.DataFrame({ Car: [BMW, Mustang, Tesla, Mustang, Merc

  10. Python – 리스트(행렬) 행 길이별 빈도 계산 방법

    Python에서 중첩 리스트(행렬)의 각 행 길이별 빈도를 계산해야 하는 경우가 있습니다. 이때는 리스트를 반복(iteration)하면서 각 행의 길이를 확인하고, 해당 길이가 처음 등장하면 빈 딕셔너리에 추가하고, 이미 존재한다면 값을 1씩 증가시키는 방식으로 처리할 수 있습니다.예제 코드아래는 행 길이별 빈도를 계산하는 전체 예제입니다.my_list = [[42, 24, 11], [67, 18], [20], [54, 10, 25], [45, 99]] print(입력 리스트 :) print(my_list) my_result =

  11. Python Pandas – 시리즈(Series)의 마지막 요소에 접근하는 방법

    Pandas 시리즈의 마지막 요소에 접근하는 가장 효율적인 방법 중 하나는 iat 속성을 사용하는 것입니다. iat는 정수 위치(integer position)를 기준으로 행/열 쌍의 단일 값에 빠르게 접근하도록 설계된 속성으로, 단일 값 조회에 최적화되어 있어 성능 면에서도 유리합니다.1. Pandas 라이브러리 임포트먼저 필요한 Pandas 라이브러리를 임포트합니다.import pandas as pd2. 시리즈 생성숫자 데이터로 구성된 Pandas 시리즈를 하나 만들어 보겠습니다.data = pd.Series([10, 20, 5

  12. Python - 리스트 요소 개수만큼 값을 반복해 중첩 리스트 만드는 방법

    리스트의 각 요소 위치(인덱스)에 해당하는 개수만큼 값을 반복하여 중첩 리스트(nested list)를 만들어야 하는 경우, 간단한 반복문과 리스트 컴프리헨션(list comprehension)을 활용하면 손쉽게 해결할 수 있습니다.예를 들어 길이가 4인 리스트가 있다면, 첫 번째 항목은 1이 한 번, 두 번째 항목은 2가 두 번, 세 번째 항목은 3이 세 번 반복되는 형태의 중첩 리스트를 생성할 수 있습니다.예제 코드아래는 실제 동작을 보여주는 예제입니다.my_list = [11, 25, 36, 24] print(The list

  13. 중첩 리스트를 튜플 리스트로 평탄화하는 Python 프로그램

    깊게 중첩된 리스트(nested list)를 튜플 리스트 형태로 평탄화(flatten)해야 하는 경우가 종종 있습니다. 이럴 때 리스트를 매개변수로 받는 함수를 정의하고, isinstance 메서드를 사용해 각 요소가 리스트 타입인지 확인하면 됩니다. 리스트라면 함수를 재귀적으로 호출해 내부를 탐색하고, 아니라면 결과 리스트에 요소를 추가하는 방식으로 최종 출력을 만들 수 있습니다.예제 코드아래는 위 로직을 구현한 예시입니다.def convert_nested_tuple(my_list): for elem in my_list:

  14. Python Pandas – stack() 함수로 단일 레벨 열 쌓기

    Pandas에서 단일 레벨(single-level)로 구성된 열을 쌓으려면 stack() 메서드를 사용하면 됩니다. stack()은 DataFrame의 열(column)을 행(row) 인덱스 아래로 회전시켜, 넓은 형태의 데이터를 좁고 긴 형태로 변환해 주는 강력한 재구조화 도구입니다.1. 라이브러리 임포트먼저 필요한 라이브러리를 가져옵니다.import pandas as pd2. 단일 레벨 열을 가진 DataFrame 생성행 인덱스와 단일 레벨의 열을 가진 DataFrame을 만들어 보겠습니다.dataFrame = pd.DataFr

  15. Python – 리스트에서 K가 N개 이상 연속으로 나타나는 구간 찾기

    리스트에서 특정 값 K가 N개 이상 연속해서 나타나는 구간을 찾아야 할 때가 있습니다. 이런 경우 파이썬의 내장 함수 enumerate()와 간단한 반복문을 활용하면 효율적으로 해결할 수 있습니다.예제 코드아래 예제는 리스트 안에서 65가 3회 이상 연속으로 등장하는 구간의 시작 인덱스와 끝 인덱스를 튜플 형태로 추출하는 방법을 보여줍니다.= N: my_result.append((beg, end)) previous = element print(The result is :) print(my_result)실행 결

  16. Python에서 append()로 Pandas DataFrame에 리스트 추가하는 방법

    Pandas에서 append() 메서드를 사용하면 기존 DataFrame에 리스트 형태의 새로운 행을 손쉽게 추가할 수 있습니다. 이번 글에서는 팀 랭킹 데이터를 예제로 삼아, DataFrame 생성부터 행 추가까지의 과정을 단계별로 살펴보겠습니다. 1단계: DataFrame 생성하기 먼저 팀 랭킹 정보가 담긴 리스트를 바탕으로 DataFrame을 만들고, 각 열의 이름을 지정합니다. # 팀 랭킹 데이터 (리스트 형태) Team = [[India, 1, 100],[Australia, 2, 85],[England, 3, 75],[N

  17. 파이썬(Python) – 리스트에서 증가하지 않는 요소 제거하기

    파이썬에서 리스트에 담긴 값들 중 앞선 값보다 작아지는, 즉 증가하지 않는 요소를 제거해야 할 때가 있습니다. 이런 경우 별도의 외부 라이브러리 없이 간단한 반복문과 요소 비교만으로도 손쉽게 해결할 수 있습니다.예제 코드다음은 리스트를 순회하면서 증가하지 않는 요소를 걸러내는 전체 예제입니다.my_list = [5, 23, 45, 11, 45, 67, 89, 99, 10, 26, 7, 11] print("The list is :") print(my_list) my_result = [my_list[0]] for

  18. Python – 리스트 요소의 순위(Rank)를 계산하는 방법

    데이터 구조에서 각 요소의 인덱스 순위(rank)를 구해야 하는 경우가 있습니다. 이럴 때 리스트를 매개변수로 받아 처리하는 메서드를 정의하면 됩니다. 해당 메서드는 리스트의 모든 요소를 반복하면서 다른 요소들과 크기를 비교하고, 그 결과에 따라 두 개의 변수 값을 갱신하여 최종 순위를 계산합니다.이 코드의 핵심은 중복 값 처리입니다. 작은 값의 개수를 세는 변수 r과 동일한 값의 개수를 세는 변수 s를 활용해, 같은 값을 가진 요소들에게는 평균 순위를 부여함으로써 보다 공정한 순위 산정이 가능합니다.예제 코드다음은 리스트 요소의

  19. Python - intersection()으로 두 Pandas DataFrame의 공통 열(교집합) 구하기

    Pandas DataFrame 간 공통 열(교집합) 구하기두 개의 DataFrame에서 공통으로 존재하는 열을 추출하려면 intersection() 메서드를 사용하면 됩니다. 이 메서드는 집합 연산의 교집합 개념을 인덱스 객체(Index object)에 적용하여, 양쪽 DataFrame에 모두 포함된 열 이름만 반환합니다.먼저 예제에 사용할 두 개의 DataFrame을 생성해 보겠습니다.import pandas as pd # dataframe1 생성 dataFrame1 = pd.DataFrame({ Car: [Bentley

  20. 파이썬으로 연속된 동일 문자 분할하기: itertools.groupby 완벽 가이드

    문자열에 같은 문자가 여러 개 연달아 붙어 있을 때, 이를 개별 그룹으로 나눠야 하는 경우가 종종 있습니다. 예를 들어 pppyyytt처럼 반복된 문자가 이어진 문자열을 [ppp, yyy, tt] 형태로 분리하는 것이죠. 이럴 때 파이썬의 itertools 모듈에서 제공하는 groupby 메서드와 문자열의 join 메서드를 함께 사용하면 아주 간단하게 해결할 수 있습니다.예제 코드다음은 연속된 동일 문자를 그룹별로 분할하는 전체 코드입니다.from itertools import groupby my_string = pppyyytth

Total 8989 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:349/450  20-컴퓨터/Page Goto:1 343 344 345 346 347 348 349 350 351 352 353 354 355