Python 的新手試圖弄清楚它是如何工作的。我正在嘗試創(chuàng)建一副牌,然后隨機(jī)選擇一張牌(類似于發(fā)牌),但我不知道如何從數(shù)據(jù)框中選擇單個(gè)隨機(jī)元素。我到目前為止的代碼如下: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])print(Deck) 0 1 2 3 4 5 6 7 8 9 10 11 12 130 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 HJ HQ HK HA1 S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 SJ SQ SK SA2 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 DJ DQ DK DA3 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 CJ CQ CK CA我知道涉及的內(nèi)容更多,但在這個(gè)階段,我只想能夠從上述數(shù)據(jù)框中打印一個(gè)隨機(jī)元素。希望有人能提供幫助!
3 回答

慕桂英4014372
TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
為一個(gè)隨機(jī)值創(chuàng)建并Series
為DataFrame.stack
一個(gè)隨機(jī)值使用Series.sample
,最后Series.iat
為標(biāo)量選擇值:
print(Deck.stack().sample(1).iat[0]) H9
或通過以下方式使用np.random.choice
展平值np.ravel
:
print(np.random.choice(np.ravel(Deck), 1)[0]) H8

一只斗牛犬
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊
下面將隨機(jī)選擇一行,然后是一列。
Deck.sample(1, axis=0).sample(1, axis=1)

守候你守候我
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊
>>> from random import choice
>>> choice(choice(Deck)
'S2'
>> choice(choice(Deck))
'D1'
添加回答
舉報(bào)
0/150
提交
取消