我有一个维度为array[x][9]
的二维数组。因为它从一个不同长度的文件中读取。我想找到数组中每一列的总和,但是一次24列,然后将结果输入到一个新数组中;相当于sum(array2[0:24])
,但是对于一个2d数组。是否有一个特殊的语法我只是不知道或我必须做它手动。我知道如果它是一个一维数组,我可以通过
for x in range(len(array)/24):
total.append(sum(array2[x1:x24])) # so i get an array of the sums
二维数组的等价物是什么,并逐列执行。我可以想象这样做:将每一列存储在各自独立的1d数组中,然后找到总和,或者一堆for和while循环。两者听起来都不那么优雅。你知道吗
听起来您可能正在处理时间序列数据,使用一个包含小时值的文件,您需要一个每日总和(因此是
24
)。熊猫图书馆将很好地做到这一点:假设您的数据位于
data.csv
:如果其中一列是时间戳,则可以使用它,但如果只有原始数据,则可以创建时间索引:
现在,每天对所有列进行求和非常容易:
请试试这个:
如果
x
不是24
的倍数,则new_a
中的最后一行将具有剩余行的总和(其计数将小于24)。你知道吗这还假设
a
中的值是数字,因此我没有进行任何转换。你知道吗您可以使用
zip
来转置数组,并使用理解来分别对每列求和:相关问题 更多 >
编程相关推荐