본문 바로가기

BLOG/데이터분석

[데이터분석] 데이터프레임 : 랜덤으로 행 출력하기 (원하는 비율) - sample

 

데이터프레임을 다양하게 변경할 때, 변경되었는지 확인하기 위해 head() 함수 또는 tail() 함수를 주로 사용합니다.

하지만 head() 함수와 tail() 함수는 상단 또는 하단에 있는 행만 보이기 때문에 중간에 데이터가 어떠한지 모를 수 있습니다. 따라서 데이터를 무작위로 추출하려면 sample() 함수를 사용하는 것이 적절한데요, 아래 코드를 보면서 설명드리도록 하겠습니다.

 

 

1. sample(n = 개수) : '개수'만큼 무작위로 행 추출하기

만약 df라는 데이터프레임이 있을 때, 10개의 행만 랜덤으로 추출해서 보고 싶다면, 다음과 같이 코드를 입력하면 됩니다.

 

df.sample(n=10)

 

 

2. sample(frac = 비율) : '비율'만큼 무작위로 행 추출하기

반면, 개수를 지정하는 것 말고도 원하는 비율만큼 행을 추출할 수 있는데요, 이때는 sample() 함수의 인자를 'frac'으로 사용합니다. 비율은 소수점으로 나타내면 되는데요, 만약 25%에 해당하는 행만 랜덤으로 추출하고 싶다면 다음과 같이 입력하면 됩니다.

 

df.sample(frac = 0.25)

 

추가로, frac을 frac = 1 로 설정하면 그대로 데이터가 모두 나오게 되는데요, fact = 1.5로 설정하면 어떻게 될까요? 이러한 경우엔 오히려 데이터가 50%만큼 복제된답니다. 즉, 행의 개수가 100개였다면 무작위로 50개를 더 복제해 150개의 행을 나타낸다는 것인데요, 이에 대해서는 다음 글에서 설명하도록 하겠습니다.