python - 尝试除了一种以上的情况
问题描述
我有一组包含数据的列。我需要 3 个最大组件的总和。问题是在某些列中我只有 2 或 1 个数据。所以我需要使用 try 和 except 来保持我的代码活着。同样在有 2 个数据的列中,我需要它们的总和,而对于 1 个数据,我需要它。我应该如何修改这段代码?提前致谢。
for i in df.index.unique():
dff=df.loc[i]
colum=dff['CENSUS2010POP']
try:
ss=sum(colum.nlargest(3))
except:
ss=sum(colum.nlargest(2))
except:
ss=sum(colum.nlargest(1))
解决方案
您可以只限制列的大小,以确保您不会尝试访问太多元素
ss = sum(colum.nlargest(min(3, colum.size)))
推荐阅读
- nsis - 我对 ReadINIStr 的第二次调用有什么问题?
- python - 我想创建多个(即大约 4 个)开/关切换按钮
- twilio - 配置 FindMe/Hunt 功能
- excel - Selenium Webdrive (VBA) - 查找元素的属性,其中有相同名称的重复属性
- python - 如何在没有正则表达式的情况下实现过滤 IPv4 地址的算法?
- python - 无法挖掘位于链接按钮下的某些信息
- google-sheets - 带有日期条件的 Google 表格 Sumifs
- html - 输入日期值属性django
- bash - 如何让您的 .bashrc 文件在第一个错误时退出而不将 errexit 标志继承到交互式 shell 中?
- php - 用于匹配三元组的正则表达式