Используя функцию random.choice
из numpy, вы можете указать replace=False
, что говорит о том, что у вас не может быть дважды одинаковых значений. Эта функция вернет вам целый вектор, который вы можете присвоить df.index
Пример на фиктивном фрейме данных
import numpy as np
import pandas as pd
df = pd.DataFrame({'col1': range(8000)})
# get number of rows df values between 0 and 9999 - all distinct
df.index = np.random.choice(range(10000),df.shape[0],replace=False)
Вы можете проверить, что количество отдельных элементов в df.index
количество строк в df
:
len(df.index.unique())
# 8000