Python:如何从列表中计算最小、最大、中值、第一和第三个四分位数?

Python:如何从列表中计算最小、最大、中值、第一和第三个四分位数?,python,dictionary,max,min,Python,Dictionary,Max,Min,比如说,我有一张这样的清单: mydict={10:[]、20:[]、30:[]、40:[]、50:[1]、60:[]、70:[1]、80:[7、2、7、2、2、7、2]、90:[5、2、2、2、6、2、3、1、2、1、2、2]、…} 我想计算:最小值、最大值、中位数、第一和第三个四分位数。我首先尝试了min和max,如下所示: mins_mydict={k:min(v)代表k,v在mydict.items()中} maxes_mydict={k:max(v)表示k,在mydict.items(

比如说,我有一张这样的清单:

mydict={10:[]、20:[]、30:[]、40:[]、50:[1]、60:[]、70:[1]、80:[7、2、7、2、2、7、2]、90:[5、2、2、2、6、2、3、1、2、1、2、2]、…}

我想计算:最小值、最大值、中位数、第一和第三个四分位数。我首先尝试了
min
max
,如下所示:

mins_mydict={k:min(v)代表k,v在mydict.items()中}

maxes_mydict={k:max(v)表示k,在mydict.items()中表示v}

但是我得到了这个错误:
ValueError:min()arg是一个空序列
。与
max
相同。是因为我的一些名单是空的吗


如何创建一个异常来检查len(list)=0?

由于在空列表上应用了min和max方法,所以出现了错误

>>> min([])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: min() arg is an empty sequence
<代码>>>>最小([]) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 ValueError:min()参数是空序列
您的字典包含一些值为空列表的键。

由于对空列表应用了最小值和最大值方法,所以出现了错误

>>> min([])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: min() arg is an empty sequence
>>最小值([])
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:min()参数是空序列

您的字典包含一些以空列表为值的键。

您可以为最小值和最大值指定默认值。因此,对于空列表,您将收到通知

>>> min([] or [-1])
-1
就你而言

>>> {k:min(v or [-1]) for k,v in mydict.items()}
{70: 1, 40: -1, 10: -1, 80: 2, 50: 1, 20: -1, 90: 1, 60: -1, 30: -1}
>>> {k:max(v or ["empty list"]) for k,v in mydict.items()}
{70: 1, 40: 'empty list', 10: 'empty list', 80: 7, 50: 1, 20: 'empty list', 90: 6, 60: 'empty list', 30: 'empty list'}

您可以为最小值和最大值指定默认值。因此,对于空列表,您将收到通知

>>> min([] or [-1])
-1
就你而言

>>> {k:min(v or [-1]) for k,v in mydict.items()}
{70: 1, 40: -1, 10: -1, 80: 2, 50: 1, 20: -1, 90: 1, 60: -1, 30: -1}
>>> {k:max(v or ["empty list"]) for k,v in mydict.items()}
{70: 1, 40: 'empty list', 10: 'empty list', 80: 7, 50: 1, 20: 'empty list', 90: 6, 60: 'empty list', 30: 'empty list'}

除qmaruf的答案外,您还可以通过以下方式在列表理解中使用条件:

mins_mydict={k:min(v) if (len(v) > 0) else 0 for k,v in mydict.items()}

除qmaruf的答案外,您还可以通过以下方式在列表理解中使用条件:

mins_mydict={k:min(v) if (len(v) > 0) else 0 for k,v in mydict.items()}

要快速查看数据帧的计数、平均值、最大值、最小值、标准差和四分位数,您可以使用
df.descripe()

要快速查看数据帧的计数、平均值、最大值、最小值、标准差和四分位数,您可以使用
df.descripe()
确切地说,这是我的情况。必须是这样的。没错,这就是我的处境。一定是这样的。