pandas 모아두기

인덱싱

and, or

df[ (df['id'] == 'b') | (df['id'] == 'e') | (df['id'] == 'k')]
  • and는 &로 or은 |
  • 괄호 잊지말기
  • loc[] 행,열 순/ 행, 열이름
  • iloc[] 행,열 순/ 행, 열 인덱스

인덱싱 참고 1
인덱싱 참고 2

loc사용

dat_comm_merge['come'] = 0
dat_comm_merge.loc[dat_comm_merge['hour'].isin([7,8,9]), 'come'] = 1
sns.barplot(x='come', y='count', data=dat)
plt.suptitle('출근 시간 비교')

Group by

mean_by_sex_length = abalone['whole_weight'].groupby([abalone['sex'], abalone['length_cat']]).mean()

 

mean_by_sex_length



sex  length_cat  
F    length_long     1.261330
     length_short    0.589702
I    length_long     0.923215
     length_short    0.351234
M    length_long     1.255182
     length_short    0.538157
Name: whole_weight, dtype: float64

group by 참고

날짜 데이터

dat_group_by_day['datetime'] = pd.to_datetime(dat_group_by_day['datetime'], format='%Y-%m-%d %H:%M:%S', errors='raise')

dat_group_by_day['day'] = dat_group_by_day['datetime'].dt.day

시간데이터 -> 일별 데이터

dat_group_by_day = dat
dat_group_by_day['datetime'] = pd.to_datetime(dat_group_by_day['datetime'], format='%Y-%m-%d %H:%M:%S', errors='raise')
dat_group_by_day.index = dat_group_by_day['datetime']
dat_group_by_day_ =  dat_group_by_day.groupby(pd.Grouper(freq='D'))[dat.columns].mean()
df['Birth_date']       = df['Birth'].dt.date         # YYYY-MM-DD(문자)
df['Birth_year']       = df['Birth'].dt.year         # 연(4자리숫자)
df['Birth_month']      = df['Birth'].dt.month        # 월(숫자)
df['Birth_month_name'] = df['Birth'].dt.month_name() # 월(문자)

df['Birth_day']        = df['Birth'].dt.day          # 일(숫자)
df['Birth_time']       = df['Birth'].dt.time         # HH:MM:SS(문자)
df['Birth_hour']       = df['Birth'].dt.hour         # 시(숫자)
df['Birth_minute']     = df['Birth'].dt.minute       # 분(숫자)
df['Birth_second']     = df['Birth'].dt.second       # 초(숫자)

참고

좋은 웹페이지 즐겨찾기