이모저모
인덱스 무작위 선택 본문
1. np.random.choice(), df.index.isin()
DataFrame에서 무작위로 인덱스를 선택하고 선택된 인덱스를 반환하는 코드이다.
(추가로 선택된 인덱스를 제외한 DataFrame을 반환하는 코드도 추가하였다.)
# 인덱스 무작위 선택
idx = np.random.choice(basic_df.index, size=int(len(basic_df) * 0.5), replace=False)
# .loc를 사용하여 특정 행 선택
selected_rows = basic_df.loc[idx].reset_index(drop = True)
# 선택한 인덱스를 제외한 나머지 행 추출
df_excluded = basic_df.loc[~basic_df.index.isin(idx)]
display(len(basic_df))
display(len(selected_rows))
display(len(df_excluded))
#실행결과
#5823
#2911
#2912
지금 같은 경우에 0.5를 전체 데이터프레임 길이에 곱하여 데이터 프레임을 반반 나누었다고 볼 수 있다.
Size가 float이면 안되니 int로 전환한다.