【问题标题】:Reshuffle values in columns of panda dataframe重新洗牌熊猫数据框列中的值
【发布时间】:2017-08-10 10:20:10
【问题描述】:
熊猫数据框
| | col A |
|---|-------|
| 0 | A |
| 1 | B |
| 2 | C |
预期输出(重新洗牌后)
| | col A |
|---|-------|
| 0 | B |
| 1 | C |
| 2 | A |
如图所示,我不想重新洗牌 (index,value) 整个对,但想重新洗牌列中的值(重新洗牌后 colA 中的值将有新的索引)
有人知道怎么做吗?
提前致谢!
【问题讨论】:
标签:
python
python-2.7
pandas
dataframe
sklearn-pandas
【解决方案1】:
np.shuffle 就地运行。
np.random.shuffle(df.colA)
将洗牌colA中的值数组
检查
df
colA
0 C
1 E
2 A
3 F
4 D
5 B
【解决方案2】:
可能,最简单的方法是使用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
>>>