바이오찌개의 코드스터디

채은·2025년 12월 19일

12/22 pandas🔍

axis=1 → 열 방향으로 이동 (행 단위 연산)

df = pd.DataFrame({
    'A': [1, 2],
    'B': [10, 20]
})

result = df.apply(lambda row: row['A'] + row['B'], axis=1)
print(result.tolist())

출력결과는?
[11, 22]

def calc_total(row):
        return row['가격'] * row['수량']

# axis=1 : '열' 방향으로 이동하며 적용
df_sales['총매출'] = df_sales.apply(calc_total, axis=1)

df_sales

.

12/19 pandas🔍

1. loc, iloc

#결과는?

df = pd.DataFrame({
    'A':[1,2,3,4,5],
    'B':[10,20,30,40,50],
    'C':[100,200,300,400,500]
},index=['a','b','c','d','e'])

df.loc['b':,'A']
df.iloc[1,0:5]



2. 조건부 출력

#가격 * 수량으로 총매출 컬럼을 추가하세요
#총매출이 20,000원 이상인 상품만 출력하세요

df_sales = pd.DataFrame({
    "상품": ["사과", "바나나", "딸기"],
    "가격": [3000, 1500, 12000],
    "수량": [5, 10, 2]})

def total_sales(row):
  return row["가격"]*row["수량"]
df_sales["총매출"]=df_sales.apply(total_sales, axis=1)
print(df_sales)

df_sales[df_sales["총매출"]>=20000]   

--------

import pandas as pd
df_sales = pd.DataFrame({
    "상품": ["사과", "바나나", "딸기"],
    "가격": [3000, 1500, 12000],
    "수량": [5, 10, 2]
})
df_sales["총매출"] = df_sales["가격"] * df_sales["수량"]
result = df_sales[df_sales['총매출'] >= 20000]
print(result)

---------------------

df_sales['총매출']=df_sales["가격"] * df_sales["수량"]
df_sales[df_sales['총매출']>=20000]

3. lambda, apply

# lambda 함수와 apply를 사용하여 가격 컬럼의 모든 값에 price가 
# 1500원 이상일 때 고가, 미만일 때 저가를 부여하세요.

df_sales=pd.DataFrame({
    '상품':['사과','딸기','바나나','사과','딸기'],
    '수량':[10,5,8,12,7],
    '가격':[1500,2000,1800,1200,2500]})

df_sales['가격구분'] = df_sales['가격'].apply(
    lambda price: '고가' if price >= 1500 else '저가'
)

4. 중복제거

# "이름이 같으면 중복으로 치자!" (가장 첫 번째 데이터만 남김 - keep='first')

import pandas as pd

df = pd.DataFrame({
    '이름': ['철수', '영희', '철수', '민수', '철수'],
    '날짜': ['2024-10-11', '2024-01-01', '2024-01-01', '2024-11-02', '2024-01-01'],
    '금액': [1000, 2000, 1000, 3000, 1000]
})

df.drop_duplicates(subset='이름', keep='first', inplace=True)
print(df)

-------------

df_clean=df.drop_duplicates(subset=['이름'], keep="first")
df_clean

5. groupby

#tips 데이터에서 성별(sex) 기준으로 평균 팁(tip)을 계산하시오.

import seaborn as sns 
tips = sns.load_dataset("tips")

tips.groupby('sex')['tip'].mean()
profile
맨땅에 헤딩

0개의 댓글