Naver Project (Pandas Example)

Jacob Kim·2024년 1월 28일
0

Naver Project Week 1

목록 보기
13/28

Pandas examples

pandas 설치 및 import

!pip install pandas
import pandas as pd

문제 1: DataFrame 생성

  • 데이터 분석에 필요한 기본 구조 중 하나는 DataFrame입니다. Pandas를 이용하여 다음과 같은 데이터를 가진 DataFrame을 만들어 보세요.
Name    Age    City
John    28     New York
Alice   24     Los Angeles
Bob     22     Chicago 
data = {'Name': ['John', 'Alice', 'Bob'],
        'Age': [28, 24, 22],
        'City': ['New York', 'Los Angeles', 'Chicago']}

df = pd.DataFrame(data)
df

문제 2: DataFrame 정보 조회

  • Pandas DataFrame에서 총 row 개수, column 이름, 각 column의 데이터 타입을 출력하세요.
data = {'Name': ['John', 'Alice', 'Bob'],
        'Age': [28, 24, 22],
        'City': ['New York', 'Los Angeles', 'Chicago']}

df = pd.DataFrame(data)

print(df.shape)
print(df.columns)
print(df.dtypes)

print(df.info())

문제 3: 특정 컬럼 기준으로 데이터 정렬하기

  • 다음과 같은 DataFrame이 주어졌을 때, 'Age' 컬럼을 기준으로 오름차순으로 정렬하세요.
data = {'Name': ['John', 'Alice', 'Bob'],
        'Age': [28, 24, 22],
        'City': ['New York', 'Los Angeles', 'Chicago']}

df = pd.DataFrame(data)

sorted_df = df.sort_values(by='Age')
print(sorted_df)

문제 4: 특정 조건에 맞는 데이터 필터링하기

  • 다음과 같은 DataFrame이 주어졌을 때, 나이가 25세 이상인 사람들의 데이터만 추출하세요.
data = {'Name': ['John', 'Alice', 'Bob', 'Eve'],
        'Age': [28, 24, 22, 30],
        'City': ['New York', 'Los Angeles', 'Chicago', 'Boston']}

df = pd.DataFrame(data)

filtered_df = df[df['Age'] >= 25]
print(filtered_df)

문제 5: 새로운 컬럼 추가하기

  • 위 4번에서 만든 DataFrame에 'Salary'라는 새로운 컬럼을 추가하고, 아래 값을 넣어 보세요
#[50000, 60000, 70000, 80000]
df['Salary'] = [50000, 60000, 70000, 80000]
df

문제 6: Groupby를 이용한 집계

  • 다음과 같은 DataFrame에서 City를 기준으로 평균 나이를 계산하세요
#Name    Age    City
#John    28     New York
#Alice   24     Los Angeles
#Bob     22     Chicago
#Eve     30     Boston
#Tom     40     New York
data = {'Name': ['John', 'Alice', 'Bob', 'Eve', 'Tom'],
        'Age': [28, 24, 22, 30, 40],
        'City': ['New York', 'Los Angeles', 'Chicago', 'Boston', 'New York']}

df = pd.DataFrame(data)

avg_age = df.groupby('City')['Age'].mean()
print(avg_age)

문제 7: 데이터 프레임 합치기 (Merge)

  • 두 개의 DataFrame을 합쳐보세요.
#DataFrame 1
#Name    Age
#John    28
#Alice   24
#Bob     22
#
#DataFrame 2
#Name    City
#John    New York
#Alice   Los Angeles
#Eve     Boston
data1 = {'Name': ['John', 'Alice', 'Bob'],
         'Age': [28, 24, 22]}

data2 = {'Name': ['John', 'Alice', 'Eve'],
         'City': ['New York', 'Los Angeles', 'Boston']}

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

merged_df = pd.merge(df1, df2, on='Name')
print(merged_df)

문제 8: pivot_table 사용하기

  • pivot_table을 사용하여 다음과 같은 DataFrame에서 각 도시(City)별로 직업(Job)의 평균 급여(Average Salary)를 계산하세요
#Name    City         Job       Salary
#John    New York     Engineer   90000
#Alice   Los Angeles  Doctor     110000
#Bob     Chicago      Engineer   80000
#Eve     Boston       Manager    95000
#Tom     New York     Manager    105000
#Smith   Los Angeles  Engineer   92000
data = {'Name': ['John', 'Alice', 'Bob', 'Eve', 'Tom', 'Smith'],
        'City': ['New York', 'Los Angeles', 'Chicago', 'Boston', 'New York', 'Los Angeles'],
        'Job': ['Engineer', 'Doctor', 'Engineer', 'Manager', 'Manager', 'Engineer'],
        'Salary': [90000, 110000, 80000, 95000, 105000, 92000]}

df = pd.DataFrame(data)

avg_salary = df.pivot_table(index='City', columns='Job', values='Salary')
print(avg_salary)

profile
AI, Information and Communication, Electronics, Computer Science, Bio, Algorithms

0개의 댓글