Python - 尝试从 Pandas 中的 DataFrame 中随机选择一个元素

Python 的新手试图弄清楚它是如何工作的。我正在尝试创建一副牌,然后随机选择一张牌(类似于发牌),但我不知道如何从数据框中选择单个随机元素。


我到目前为止的代码如下:


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  13

0  H1  H2  H3  H4  H5  H6  H7  H8  H9  H10  HJ  HQ  HK  HA

1  S1  S2  S3  S4  S5  S6  S7  S8  S9  S10  SJ  SQ  SK  SA

2  D1  D2  D3  D4  D5  D6  D7  D8  D9  D10  DJ  DQ  DK  DA

3  C1  C2  C3  C4  C5  C6  C7  C8  C9  C10  CJ  CQ  CK  CA

我知道涉及的内容更多,但在这个阶段,我只想能够从上述数据框中打印一个随机元素。希望有人能提供帮助!


摇曳的蔷薇
浏览 253回答 3
3回答

慕桂英4014372

为一个随机值创建并Series为DataFrame.stack一个随机值使用Series.sample,最后Series.iat为标量选择值:print(Deck.stack().sample(1).iat[0]) H9或通过以下方式使用np.random.choice展平值np.ravel:print(np.random.choice(np.ravel(Deck), 1)[0]) H8

一只斗牛犬

下面将随机选择一行,然后是一列。Deck.sample(1, axis=0).sample(1, axis=1)

守候你守候我

>>> from random import choice>>> choice(choice(Deck)'S2'>> choice(choice(Deck))'D1'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python