9. list_comprehension 2

Ryan·2025년 1월 9일

SQL/Python 분석

목록 보기
13/94

9. List Comprehension 2

조건과 함께 리스트 생성

List Comprehension은 조건문을 추가하여 더욱 유연하게 리스트를 생성할 수 있습니다. 이를 통해 데이터를 필터링하거나 가공하는 작업이 간결해집니다.


1. 기본 리스트 생성

다음은 0부터 19까지의 숫자를 포함하는 리스트를 생성하는 기본 예제입니다:

python
코드 복사
[i for i in range(0, 20)]
  • 출력 결과: [0, 1, 2, 3, ..., 19]

2. 조건문 추가: 홀수 필터링

리스트에서 특정 조건(예: 홀수)을 필터링하는 방법입니다:

  1. 기본 for 문

    python
    코드 복사
    odd_number = []
    for i in range(0, 20):
        if i % 2 == 1:
            odd_number.append(i)
    odd_number
    
    • 출력 결과: [1, 3, 5, 7, ..., 19]
  2. List Comprehension

    python
    코드 복사
    [i for i in range(0, 20) if i % 2 == 1]
    
    • 출력 결과: [1, 3, 5, 7, ..., 19]

3. 랜덤 매출 데이터 생성

random 라이브러리를 활용해 30일간의 매출 데이터를 생성합니다:

python
코드 복사
import random as rd

sales = [rd.randint(1500, 4500) for i in range(0, 30)]
print(list(sales))
  • rd.randint(a, b): ab 사이의 임의의 정수를 반환합니다.
  • 결과는 30일간의 매출 데이터 리스트로 저장됩니다.

4. 매출 데이터 분석

매출 평균을 계산하고, 평균 이상인 매출 데이터를 필터링합니다:

python
코드 복사
# 매출 평균 계산
sales_avg = sum(sales) / len(sales)

# 평균을 초과하는 매출 데이터
[i for i in sales if i > sales_avg]
  • sales_avg: 매출 리스트의 평균값입니다.
  • 출력 결과: 평균 이상의 매출 값을 가진 리스트가 반환됩니다.

5. 조건부 출력: if-else 추가

매출 데이터를 기준으로 조건부 출력을 추가합니다:

python
코드 복사
['매출 달성' if i > sales_avg else '목표 매출 미달' for i in sales]
  • if-else: 조건에 따라 다른 값을 반환합니다.
  • 출력 결과: ['목표 매출 미달', '매출 달성', ...]

6. Pandas 데이터프레임으로 변환

List Comprehension 결과를 데이터프레임에 저장하여 시각적으로 정리합니다:

python
코드 복사
import pandas as pd

df = pd.DataFrame()
df['일별 판매액'] = sales
df['매출 목표 달성 여부'] = ['매출 달성' if i > sales_avg else '목표 매출 미달' for i in sales]
df.head()
  • df['일별 판매액']: 매출 데이터를 저장.
  • df['매출 목표 달성 여부']: 조건에 따른 목표 달성 여부를 저장.
  • df.head(): 데이터프레임의 상위 5개 행을 출력합니다.

0개의 댓글