鱼C论坛

 找回密码
 立即注册
查看: 1563|回复: 5

[已解决]rondom函数 报错

[复制链接]
发表于 2022-2-9 16:46:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各位大佬好,尝试做了一个抽奖程序(代码写的很丑):
#从Excel导入名单
#然后从姓名列进行抽取,一共抽取3次
#每次抽中的人从奖池中移除

import numpy as np
import pandas as pd
import random

f=r"C:\Users\Administrator\Desktop\抽奖名单.xlsx"

df1 = pd.read_excel(f,sheet_name='名单1')

md1 = df1['姓名'][1:]

cj1 = random.choice(md1)

print(cj1)

md2 = md1[~md1.isin([cj1])]

cj2 = random.choice(md2)

print(cj2)

md3 = md2[~md2.isin([cj2])]

cj3 = random.choice(md3)

print(cj3)


大概率可以运行成功,但是有时候会报错,想请教一下各位大佬,是什么原因导致的。

Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\indexes\base.py", line 3621, in get_loc
    return self._engine.get_loc(casted_key)
  File "pandas\_libs\index.pyx", line 136, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 163, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 2131, in pandas._libs.hashtable.Int64HashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 2140, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError: 61

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\random.py", line 17, in <module>
    cj2 = random.choice(md2)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\random.py", line 291, in choice
    return seq[i]
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\series.py", line 959, in __getitem__
    return self._get_value(key)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\series.py", line 1070, in _get_value
    loc = self.index.get_loc(label)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\indexes\base.py", line 3623, in get_loc
    raise KeyError(key) from err
KeyError: 61
最佳答案
2022-2-9 17:58:56
这里有个帖子,你可以看一下链接在下面。https://zhidao.baidu.com/question/429201430267134492.html
如果你觉得对你有帮助,请给我最佳答案,谢谢亲。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-2-9 16:52:43 | 显示全部楼层
eee...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-2-9 17:58:56 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
这里有个帖子,你可以看一下链接在下面。https://zhidao.baidu.com/question/429201430267134492.html
如果你觉得对你有帮助,请给我最佳答案,谢谢亲。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-9 17:59:30 From FishC Mobile | 显示全部楼层
keyerror一般是你使用字典里不存在的key产生的错误,避免产生错误的方法很简单,使用字典的get方法,它接受一个key和一个默认值,这个默认值只有key不存在的使用返回,存在则只接访问key的值

a={'a':'b','123':345}
try:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-11 16:29:03 | 显示全部楼层
字典,我能不能理解一下,就是我的原表格数据。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-11 16:29:49 | 显示全部楼层
shiyouroc 发表于 2022-2-9 17:59
keyerror一般是你使用字典里不存在的key产生的错误,避免产生错误的方法很简单,使用字典的get方法,它接受 ...

就是我的随机抽取,抽到了错误值,所以run不下去了,是这么个意思吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 10:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表