如何在pandas中置换一列

cur*_*one 7 python permutation dataframe pandas

我有3列pandas数据帧:

X1   X2    Y
1    2     1
2    4     0
3    6     1  
Run Code Online (Sandbox Code Playgroud)

我想只置换一列X1,结果是:

X1   X2    Y
3    2     1
1    4     0
2    6     1
Run Code Online (Sandbox Code Playgroud)

我只是通过重新索引它们来找到如何置换所有列,而不是如何仅对一列执行此操作.

jez*_*ael 11

用途numpy.random.permutation:

df['X1'] = np.random.permutation(df['X1'])
print (df)
   X1  X2  Y
0   3   2  1
1   2   4  0
2   1   6  1
Run Code Online (Sandbox Code Playgroud)