2016-06-01 11 views
1

行値をシャッフルする方法に関する以前の記事があります(Randomizing/Shuffling rows in a dataframe in pandas)。私にとっては、これらの行の全体ではなく、その行の一部をシャッフルする方法が不思議でした。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 
関連する問題