Моя программа должна выбирать значения случайным образом, не повторяя их. После этого программа назначит им случайные величины.
Предположим, что это данные:
[input] data
[output]
0
0 770000.000
1 529400.000
2 780000.000
3 731300.000
4 935000.000
5 440000.000
6 634120.000
7 980000.000
8 600000.000
9 770000.000
10 600000.000
11 536613.000
12 660000.000
13 850000.000
14 563600.000
15 985000.000
16 600000.000
17 770000.000
18 957032.000
19 252000.000
20 397000.000
21 218750.000
22 785578.000
Как видите, данные содержат повторяющиеся числа в индексе 0, 9 и 17. Эти цифры нельзя игнорировать, так как индекс отличается.
Я не мог найти способ решить мою проблему. У меня было много попыток, таких как data.iloc[0]
, но я получил это
error ValueError: Истинное значение массива с более чем одним
элемент неоднозначен. Используйте a.any () или a.all ()
Или, в других моих попытках, данные были сокращены, так как программа исключила некоторые подобные данные.
В моей первой попытке я использовал следующий код
Col_list = []
def Grab(repeat):
for x in range(FixedRange):
letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
Three = [random.choice(letters) + \
random.choice(letters) + \
random.choice(letters)]
A_Slice = random.randint(1, Total_Range_of_Data)
[Col_list.append(data[A_Slice:A_Slice + 200]),
Col_list.append(Three*len(data[A_Slice:A_Slice + 200]))]
Col_list1 = pd.DataFrame(Col_list).T
Col_listFinal = Col_list1
Grab(0)
и результат выдаст что-то вроде
. . . .
. . . .
190 1.06934e+06 kCn 3.46638e+06 EmV ... 514564 LLl 450000 hfX
191 250000 kCn 1.37e+06 EmV ... 1.00430e+06 LLl 468305 hfX
192 741088 kCn 1.25e+06 EmV ... 312032 LLl 520000 hfX
193 427500 kCn 726700 EmV ... 1.0204e+06 LLl 495750 hfX
194 969600 kCn 853388 EmV ... 139300 LLl 530000 hfX
195 388556 kCn 1.21e+06 EmV ... 437500 LLl 598520 hfX
196 2.045e+06 kCn 1.53636e+06 EmV ... 547835 LLl 538250 hfX
197 435008 kCn 752700 EmV ... 712400 LLl 326000 hfX
198 6.15566e+06 kCn 1.56282e+06 EmV ... 1.385e+06 LLl 480000 hfX
199 551650 kCn 1.222e+06 EmV ... 771512 LLl 495750 hfX
Но это не полезно, так как оно случайное и может принимать некоторые значения более одного раза. Любое предложение для решения проблемы?
кстати, желаемый вывод должен быть чем-то похожим на приведенный выше, но без дубликатов.