2017-03-19 138 views
1

熊猫数据帧改组值熊猫数据帧

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

预期输出的列(重新洗牌后)

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

如图所示,我希望改组(索引,值)整个对,但想要重新洗牌列中的值(colA中的重新洗牌值将具有新的索引)

是否有任何知道如何做到这一点?

在此先感谢!

回答

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 
>>> 
2

np.shuffle到位工作。

np.random.shuffle(df.colA) 

将洗牌在colA
值的阵列来检查

df 

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