Python - Удаление элемента из pandas фрейма данных, чтобы его нельзя было повторно выбрать в цикле For - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь создать сценарий раздачи игральных карт в Python с использованием Pandas фреймов данных. Я хочу иметь возможность раздать все 52 карты, разделенные поровну между 4 игроками (по 13 карт каждый).

Вот начальная настройка:

Hearts = ["H1","H2","H3","H4","H5","H6","H7","H8","H9","H10","HJ","HQ","HK","HA"]
Spades = ["S1","S2","S3","S4","S5","S6","S7","S8","S9","S10","SJ","SQ","SK","SA"] 
Diamonds = ["D1","D2","D3","D4","D5","D6","D7","D8","D9","D10","DJ","DQ","DK","DA"]
Clubs = ["C1","C2","C3","C4","C5","C6","C7","C8","C9","C10","CJ","CQ","CK","CA"]

Deck = pd.DataFrame([Hearts,Spades,Diamonds,Clubs])
Dealt = pd.DataFrame([])

//Players:
P_1 = []
P_2 = []
P_3 = []
P_4 = []

Я изо всех сил пытаюсь работать как сделать каждую выдаваемую карту уникальной.

Мой мыслительный процесс привел меня к выводу, что как только карта будет сдана, она должна быть

  • добавлена ​​к соответствующему списку игроков
  • добавлено к фрейму данных Dealt
  • удалено из фрейма данных Deck, чтобы карта больше не выбиралась

Для получения дополнительной информации Вот пример For l oop, который я создал:

for i in range(52):
    Deal= choice(choice(Deck))
    if len(P_1)<= 12:
        P_1.append(Deal)
        Dealt.append(Deal)
    elif len(P_2)<= 12:
        P_2.append(Deal)
        Dealt.append(Deal)
    elif len(P_3)<= 12:
        P_3.append(Deal)
        Dealt.append(Deal)
    else:
        P_4.append(Deal)
        Dealt.append(Deal)
P_1.sort()
P_2.sort()
P_3.sort()
P_4.sort()

print('P1 Cards Sorted', P_1)
print('P2 Cards Sorted', P_2)
print('P3 Cards Sorted',P_3)
print('P4 Cards Sorted',P_4)

Я просто не слишком уверен, как go удалить элемент из фрейма данных. Любая помощь будет принята с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...