在熊猫数据框的列中重新洗牌

时间:2017-03-19 00:38:21

标签: python python-2.7 pandas dataframe sklearn-pandas

熊猫数据框

|   | col A |   
|---|-------|
| 0 | A     |   
| 1 | B     |  
| 2 | C     |

预期输出(重新洗牌后)

|   | col A |   
|---|-------|
| 0 | B     |   
| 1 | C     |  
| 2 | A     |

如图所示,我想重新调整(索引,值)整个对,但想重新调整列中的值(在colA中重新调整值后会有新的索引)

有人知道怎么做吗?

提前致谢!

2 个答案:

答案 0 :(得分:2)

np.shuffle就位。

np.random.shuffle(df.colA)

将在colA中随机播放值数组 检查

df

  colA
0    C
1    E
2    A
3    F
4    D
5    B

答案 1 :(得分:1)

可能最简单的方法是使用np.random.permutation

>>> import pandas as pd, numpy as np
>>> df = pd.DataFrame({'colA':list('ABCDEF')})
>>> df
  colA
0    A
1    B
2    C
3    D
4    E
5    F

然后

>>> df['colA'] = np.random.permutation(df.colA)
>>> df
  colA
0    D
1    A
2    F
3    B
4    C
5    E
>>>