如何防止itemfreq()函数在遇到空numpy数组时崩溃?

2024-04-25 12:44:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用scipy中的itemfreq()函数来计算numpy数组中唯一元素的频率。你知道吗

基本上,我声明了一个输出numpy数组的变量(我们称之为“a”)。根据先前的输入,“A”可能包含0到13个元素。当“A”至少包含1个元素时,itemfreq()函数工作正常,但如果“A”为空,则会出现以下错误:

IndexError: index out of bounds.

我希望能写出这样一个简单的陈述:

if A = []: print ("Sorry, your array is empty")
else: print (itemfreq(A))

但我不知道python中的第一行代码(“如果A是空数组”)怎么说。你知道吗

谢谢!你知道吗


Tags: of函数numpy声明元素index错误scipy
3条回答

用try捕获异常。。。除外条款:

try:
    print(itemfreq(A))
except IndexError:
    print("Sorry, your array is empty")

你应该更喜欢try-except而不是if/else

Better to 'try' something and catch the exception or test if its possible first to avoid an exception?

Using try vs if in python

空列表/数组的长度为零:

if len(A) == 0:
    print ("Sorry")

我将把它表述为

if len(A) == 0:
    print ("Sorry, your array is empty")

或者

try:
    print (itemfreq(A))
except LookupError:
    print ("Sorry, your array is empty")

相关问题 更多 >