Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python使用列表中的步骤求和值_Python - Fatal编程技术网

python使用列表中的步骤求和值

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(

我是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(每天[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)]