为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

摇曳的蔷薇 2022-11-09 14:50:49
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  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我知道涉及的内容更多,但在这个阶段,我只想能够从上述数据框中打印一个随机元素。希望有人能提供帮助!
查看完整描述

3 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

为一个随机值创建并SeriesDataFrame.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


查看完整回答
反对 回复 2022-11-09
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

下面将随机选择一行,然后是一列。

Deck.sample(1, axis=0).sample(1, axis=1)


查看完整回答
反对 回复 2022-11-09
?
守候你守候我

TA贡献1802条经验 获得超10个赞

>>> from random import choice

>>> choice(choice(Deck)

'S2'

>> choice(choice(Deck))

'D1'


查看完整回答
反对 回复 2022-11-09
  • 3 回答
  • 0 关注
  • 167 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信