2016-06-01 2 views
1

행 값을 임의로 셔플하는 방법에 대한 이전 게시물이 있습니다 (Randomizing/Shuffling rows in a dataframe in pandas). 나에게있어, 나는이 열 전체가 아닌 그 열의 일부를 섞는 방법을 궁금해했다. DataFrame에서 행의 일부만 뒤섞습니다.

나는 여기에 빠른 dataframe했다 :

df = pd.DataFrame(np.random.randn(10, 5), columns=list('ABCDE')) 

-작업을 다시 할 수있는 방법이 있나요를이 같은 각 행, 열 B, C 및 D의 값이 단행되는 열의 값 동안 A와 E는 같은 위치에 남아 있습니까?

답변

0

당신은 셔플 명령에 슬라이스를 사용할 수 있습니다

import pandas as pd 
import numpy as np 

df = pd.DataFrame(np.random.randn(10, 5), columns=list('ABCDE')) 
print df 

A=df.values 
_= [np.random.shuffle(i) for i in A[: ,1:4]] 

df2=pd.DataFrame(A, columns=list('ABCDE')) 
print df2 
관련 문제