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 등 방법에 대해 찾아봄)
반응형
'Education > 새싹 TIL' 카테고리의 다른 글
새싹 AI데이터엔지니어 핀테커스 3주차 (수) - pandas(3), matplotlib (0) | 2023.09.14 |
---|---|
새싹 AI데이터엔지니어 핀테커스 3주차 (화) - pandas(2) (0) | 2023.09.12 |
새싹 AI데이터엔지니어 핀테커스 2주차 (금) - SQL(3) (0) | 2023.09.08 |
새싹 AI데이터엔지니어 핀테커스 2주차 (목) - SQL(1) (0) | 2023.09.07 |
새싹 AI데이터엔지니어 핀테커스 2주차 (수) - 파이썬(3) (0) | 2023.09.06 |