问题描述
我有一组包含数据的列。我需要3个最大组件的总和。问题是在某些列中我只有2或1个数据。所以我需要使用try和来使我的代码保持活动状态。另外,在具有2个数据的列中,我需要它们的总和,而具有1个数据的列中,我需要的。 我应该如何修改此代码? 预先感谢。
Check Constraint...
解决方法
您可以限制列的大小,以确保您不会尝试访问过多的元素
ss = sum(colum.nlargest(min(3,colum.size)))
,
其他建议的解决方案更好,但是如果您对所问的特定问题感到好奇,可以使用多种try-excepts:
for i in df.index.unique():
dff=df.loc[i]
colum=dff['CENSUS2010POP']
try:
ss=sum(colum.nlargest(3))
except:
try:
ss=sum(colum.nlargest(2))
except:
ss=sum(colum.nlargest(1))