基于id键的随机数据集

问题描述 投票:0回答:1

数据集中的随机shuffle行约束:只有行不能随机播放,而不是列之间的值

  • np.random.permutation无法工作,因为它不会保留每列的值
  • random.shuffle导致一个关键错误

例如:

enter image description here

如何获得不同的行?例如,第7行变为第2行

python dataset shuffle
1个回答
1
投票

您可以使用DataFrame.sample(...)方法获得一个混洗数据帧,例如:

import pandas as pd
import numpy as np

df = pd.DataFrame(data=np.random.rand(10,3), columns=['A', 'B', 'C'])
df = df.sample(frac=1)

这里frac=1告诉函数对行进行洗牌,而不是对一些行进行采样。这将导致类似于:

   A         B         C
6  0.539230  0.726644  0.904020
9  0.173626  0.774850  0.914098
5  0.114591  0.344212  0.339833
4  0.159820  0.604845  0.029802
3  0.826250  0.765909  0.422308
1  0.110008  0.523306  0.288052
2  0.616792  0.932205  0.659934
8  0.707413  0.794188  0.214229
7  0.409670  0.706913  0.232815
0  0.048167  0.748322  0.014002
© www.soinside.com 2019 - 2024. All rights reserved.