728x90

❤️ 배운 것

pandas

 - series

 - dataframe (iloc, loc)

 - drop_dupllicate, drop_na 등

 - concat, merge

 

코드 모음

dates = pd.date_range('20230101', periods =3)

my_series2 = pd.Series(prices, index=dates)

# 2023-01-01    1000
# 2023-01-02    1010
# 2023-01-03    1020
# Freq: D, dtype: int64

pd.date_range('2022-01-01', '2023-01-01', freq='MS')


prices = {
    'SK텔레콤': [44000, 44500, 45000],
    '삼성전자': [70100, 70200, 70300],
    'LG전자': [85000, 85500, 86000]
}

df1 = pd.DataFrame(prices)

# iloc 순서, loc 이름
df2.iloc[0:1, 1:]

df2.loc[:,['SK텔레콤']]

# concat
concat_df2 = pd.concat([df2, s1], axis=1)

concat_df2['LG화학_add_500'] = concat_df2['LG화학']+500

# index 정렬
concat_df2.sort_index()

# col 기준 정렬
concat_df2.sort_values(by='SK텔레콤', ascending=False)

# row 기준 drop
concat_df2.drop('2023-01-03')

# col 기준 drop
concat_df2.drop(columns='LG화학_add_500')

# sum
concat_df2['sum'] = concat_df2.sum(axis=1)

# NaN 있는 줄 삭제
concat_df2.dropna()

# interpolate로 결측치 채우기
concat_df2.interpolate()

# 중복 제거 : 바로 제거
concat_df2.drop_duplicates('삼성전자')

# 중복 제거 : 중복아닌 값의 index만 필터링해서 원본 df에서 선택
idx = concat_df2['삼성전자'].drop_duplicates().index
concat_df2.loc[idx, :]

 

💕 과제

# Q1. 2022-01-01 ~ 2022-12-01 월초 인덱스를 생성
series1 = pd.date_range('2022-01-01', '2022-12-01', freq='MS')

# Q2. Q1에서 생성한 인덱스를 가지고 데이터프레임 생성(값은 자율, 이때 칼럼이름은 value)
val = [x for x in range(len(series1))]
df1 = pd.DataFrame(val, index=series1, columns=['value'])

# Q3. value 칼럼에서 100을 더한 value_add_100 칼럼을 생성해주세요.
df1['value_add_100'] = df1['value'] + 100

# Q4. value 칼럼과 value_add_100 칼럼을 평균한 mean 칼럼을 생성해주세요.
df1['mean'] = df1.mean(axis=1)

 

 

💛 배운점/느낀점

- pandas iloc, loc, sort, drop등 기본 사용방법을 익힘

- 결측치 처리 방법 : drop, fill(mean / KNN 등 방법에 대해 찾아봄)

반응형