Pandas 여러 기능들

Kingjo·2023년 5월 19일
0
import pandas as pd

# df 생성
data = {
    '이름': ['홍길동', '김철수', '이영희', '박영진', '최지원'],
    '성별': ['남', '남', '여', '남', '여'],
    '나이': [18, 19, 17, 20, 18],
    '국어': [85, 92, 78, 90, 88],
    '영어': [78, 88, 92, 85, 90],
    '수학': [90, 85, 88, 92, 78]
}

df = pd.DataFrame(data)

# 중복 데이터 제거
df_duplicates_removed = df.drop_duplicates()

# 결측치 확인
has_missing_values = df.isnull().values.any()

# 특정 컬럼 선택
selected_column = df['이름']

# 조건에 따른 컬럼 선택
filtered_columns = df.loc[df['나이'] > 18, ['이름', '국어', '영어']]

# 특정 컬럼 제거
df_dropped = df.drop('성별', axis=1)

# 컬럼 순서 변경
df_reordered = df[['나이', '성별', '이름', '국어', '영어', '수학']]

# 행 인덱스 재설정
df_reset_index = df.reset_index(drop=True)

# 특정 조건에 따른 행 필터링
filtered_rows = df[df['국어'] > 90]

# 행과 열 조건에 따른 데이터 선택
filtered_data = df.loc[(df['국어'] > 90) & (df['수학'] > 90), ['이름', '국어', '수학']]

# 특정 컬럼의 고유값 확인
unique_values = df['성별'].unique()

# 컬럼 값에 따른 행 개수 세기
value_counts = df['성별'].value_counts()

# 데이터프레임 병합
df2 = pd.DataFrame({'이름': ['홍길동', '김철수', '이영희'],
                    '예체능': ['미술', '음악', '체육']})
merged_df = pd.merge(df, df2, on='이름', how='left')

# 특정 컬럼의 문자열 연산
df['이름_대문자'] = df['이름'].str.upper()

# 날짜 데이터 다루기
df['날짜'] = pd.to_datetime('2022-01-01')
df['연도'] = df['날짜'].dt.year
df['월'] = df['날짜'].dt.month

# 컬럼의 데이터 타입 변경
df['국어'] = df['국어'].astype(float)

# 데이터 그룹화 후 연산
grouped_data = df.groupby('성별').agg({'국어': 'mean', '수학': 'max'})
profile
나사 빠진 걸 좋아합니다

0개의 댓글