python使用列表中的步骤求和值
我是Python的新手,所以我的问题很简单 假设我有一个从excel导入的数据列表:python使用列表中的步骤求和值,python,Python,我是Python的新手,所以我的问题很简单 假设我有一个从excel导入的数据列表: daily=pd.read\u excel(r'path to excel') daily=daily.to\u numpy() “每日”包含对某个变量的每日观察 我的目标是用7步(一周)对所有观察结果求和,并将结果存储在一个新变量“week”中。 “daily”包含300+个条目,因此“week”将包含300+//7=42+个条目 我做过这样的事情: week1=sum(每日[0:7]) week2=sum(
daily=pd.read\u excel(r'path to excel')
daily=daily.to\u numpy()
“每日”包含对某个变量的每日观察
我的目标是用7步(一周)对所有观察结果求和,并将结果存储在一个新变量“week”中。
“daily”包含300+个条目,因此“week”将包含300+//7=42+个条目
我做过这样的事情:week1=sum(每日[0:7])
week2=sum(每天[7:14])
week3=sum(每日[14:21])
week4=sum(每日[21:28])
等等
week=(第一周、第二周、第三周……)
如何使用for/if语句以更聪明的方式编写此代码?
谢谢一种简洁的方法是使用。不过,基于您的问题,我建议您熟悉循环的一般用法
week = [numpy.sum(daily[x:numpy.min(len(daily),x+7)]) for x in range(0, len(daily), 7)]
这将生成一个列表,其中每个元素是从索引
x
到min(x+7,len(daily))
的daily
元素的总和(这样我们就不会超出daily的边界)。生成一个从0到每日长度的iterable,每次递增7。请共享一个。如何使用for/if语句以更聪明的方式编写?有具体问题吗?您是否熟悉使用循环和if
语句?帮助性详细信息。我只是对您的代码做了一些修改(删除x*7)week=[sum(data[x:min(len(data),x+7)],范围为(0,len(data),7)]