2016-06-28 2 views
4

팬더 데이터 프레임에서 몇 개의 행을 무작위로 샘플링하는 방법을 알고 있습니다. 나는 다음 행의 일부를 얻기 위해, 데이터 프레임 DF했다 말할 수, 내가 할 수있는 :랜덤 샘플링 팬더 데이터 프레임 (행과 열 모두)

df_sample = df.sample(frac=0.007) 

그러나 나는 임의 행이 필요한 위의 데이터 프레임에서 무작위로 열 위 또한.

Df는 현재 56Kx8.5k입니다. 500과 1000 모두 무작위로 샘플링하는 500x1000이라고 말하고 싶다면 어떻게해야할까요?

나는 하나의 방법은 열 이름의 목록을 얻을 수

df.columns 그런 짓을 할 거라고 생각해.

그런 다음이 열 목록의 색인을 무작위로 샘플링하고 그 임의 색인을 사용하여 나머지 열을 필터링하십시오.

답변

7

그냥 축 매개 변수를 대응, 두 번 sample 전화 : 첫 번째의 경우

df.sample(n=500).sample(n=1000, axis=1) 

, 축 = 0 기본적으로.

+0

cool. 몰랐다. 그냥 두 번 호출하면 우리가 샘플 열을 얻을 수있는 동일한 행 (500)을 가지고 있는지 확인합니다. – Baktaawar

+0

질문을 올바르게 이해했다면,'df.sample (n = 500)'은 500 행과 8.5k 열의 데이터 프레임을 반환 할 것입니다. '.sample (n = 1000, axis = 1) '을 호출하는 데이터 프레임에서 이전에 선택된 500 개의 행과 1000 개의 열이있는 다른 데이터 프레임을 반환합니다. – ayhan

+0

멋진 느낌이납니다. – Baktaawar