- Я пытаюсь взять CSV, и прочитать его как Pandas Dataframe.
- Этот информационный кадр содержит 4 строки чисел.
- Я хочу выбрать конкретную строку данных из кадра данных.
- В цикле while я хочу выбрать случайную строку в кадре данных и сравнить ее со строкой, которую я выбрал.
- Я хочу, чтобы он продолжал проходить цикл while до тех пор, пока эта случайная строка не станет на 100% равной строке, которую я выбрал ранее.
- Затем я хочу, чтобы цикл while прервался, и я хочу, чтобы он посчитал, сколько попыток потребовалось для совпадения со случайным числом.
Вот что у меня так далеко:
Это пример Dataframe:
A B C D
1 2 7 12 14
2 4 5 11 23
3 4 6 14 20
4 4 7 13 50
5 9 6 14 35
Вот пример моих усилий:
import time
import pandas as pd
then = time.time()
count = 0
df = pd.read_csv('Get_Numbers.csv')
df.columns = ['A', 'B', 'C', 'D']
while True:
df_elements = df.sample(n=1)
random_row = df_elements
print(random_row)
find_this_row = df['A','B','C','D' == '4','7','13,'50']
print(find_this_row)
if find_this_row != random_row:
count += 1
else:
break
print("You found the correct numbers! And it only took " + str(count) + " tries to get there! Your numbers were: " + str(find_this_row))
now = time.time()
print("It took: ", now-then, " seconds")
Приведенный выше код дает очевидную ошибку ... но яЯ попробовал так много разных версий поиска find_this_row
чисел, что я просто не знаю, что делать дальше, поэтому я оставил эту попытку в.
Чего я хотел бы избежать, так это использованияконкретный индекс для строки, которую я пытаюсь найти, я бы предпочел использовать только значения, чтобы найти это.
Я использую df_elements = df.sample(n=1)
, чтобы выбрать строку случайным образом.Это было сделано для того, чтобы не использовать random.choice
, так как я не был уверен, сработает ли это, или какой способ более эффективен по времени / памяти, но я также открыт для советов по этому поводу.
По-моему, кажетсяпросто, случайным образом выберите строку данных, если она не соответствует строке данных, которую я хочу, продолжайте случайным образом выбирать строки данных, пока они не совпадут.Но я не могу выполнить его.
Любая помощь очень ценится!