Python 为列表的每个子列表计算y列的平均值

Python 为列表的每个子列表计算y列的平均值,python,arrays,python-3.x,Python,Arrays,Python 3.x,我正在寻找一种方法来计算数组中通过count\u num传递的最后x个值。我如何才能成功地做到这一点 import gdax public_client = gdax.PublicClient() data = public_client.get_product_historic_rates('BTC-USD', start=None, end=None, granularity=None) count_num = 5 for i in data:

我正在寻找一种方法来计算数组中通过
count\u num
传递的最后x个值。我如何才能成功地做到这一点

import gdax

public_client = gdax.PublicClient()
data = public_client.get_product_historic_rates('BTC-USD', 
                    start=None, end=None, granularity=None)
count_num = 5
for i in data:    
    index = [i][0][5]
    average = index[-count_num:]/count_num
这是我打印出列表后返回的内容

[1521965100, 8464.99, 8470, 8464.99, 8470, 1.8307073700000003]
[1521965040, 8462.29, 8465, 8462.29, 8465, 0.54772126]
[1521964980, 8462.28, 8462.29, 8462.28, 8462.29, 0.41895371]
[1521964920, 8462.28, 8475, 8475, 8462.29, 0.9895914299999999]
[1521964860, 8475, 8475.01, 8475.01, 8475, 0.07485000000000001]
[1521964800, 8471.91, 8480.93, 8471.91, 8475.01, 0.36869809000000003]
[1521964740, 8471.9, 8471.91, 8471.91, 8471.91, 0.18909909]
[1521964680, 8471.31, 8471.91, 8471.31, 8471.91, 0.0864]
[1521964620, 8471.31, 8480.46, 8480.46, 8471.31, 1.03771926]
[1521964560, 8481.64, 8490, 8489.99, 8481.64, 10.089637590000004]
这是一个索引的示例输出,我正试图找到它的平均值

6.64786609
1.6042117200000003
1.58478991
7.936872120000001
2.6782738599999987
1.8307073700000003
0.54772126
0.41895371
0.9895914299999999
0.07485000000000001
0.36869809000000003
0.18909909
以下是您需要的:

average = sum(row[-1] for row in data[-count_num:]) / count_num
pint(average)
#2.354310806000001
以下是您需要的:

average = sum(row[-1] for row in data[-count_num:]) / count_num
pint(average)
#2.354310806000001
尝试使用numpy:

import numpy as np

data = [[1,2,3,4],[2,3,4,5],[3,4,5,6]]

tmp=np.zeros(len(data))
x=0

for i in data: 
   tmp[x]=data[x][-1]
   x=x+1

average=np.mean(tmp)
print(average)
#5.0
尝试使用numpy:

import numpy as np

data = [[1,2,3,4],[2,3,4,5],[3,4,5,6]]

tmp=np.zeros(len(data))
x=0

for i in data: 
   tmp[x]=data[x][-1]
   x=x+1

average=np.mean(tmp)
print(average)
#5.0


数据的数据类型是什么?包括它的一个示例。它是嵌套在另一个数组中的数组。根据代码判断,它不能嵌套在另一个数组中,因为它是通过调用函数返回的。
类型(数据)
报告什么?如果您只包含一个示例就更好了。对不起,它是嵌套在数组中的列表。我想计算最后x个子列表的子列表最后一列的平均值。数据的数据类型是什么?包括它的一个示例。它是嵌套在另一个数组中的数组。根据代码判断,它不能嵌套在另一个数组中,因为它是通过调用函数返回的。
类型(数据)
报告什么?如果您只包含一个示例会更好。抱歉,这是一个嵌套在数组中的列表。我希望计算最后x个子列表的子列表最后一列的平均值。完美。像魔术一样工作。如果我想得到最早x值的平均值,我是否应该删除“-count\u num:”中的“-”呢?您应该使用
data[:count\u num]
then.Perfect。理解。我将标题编辑为“计算列表每个子列表中最后x个值的平均值”,这听起来更合理。完美。像魔术一样工作。如果我想得到最早x值的平均值,我是否应该删除“-count\u num:”中的“-”呢?您应该使用
data[:count\u num]
then.Perfect。理解。我将标题编辑为“计算列表中每个子列表中最后x个值的平均值”,这听起来更合理。因此,它几乎接近,但我希望计算列表中最后y个子列表中x列的数据。例如,在您的示例中,列表的最后2个子列表。我不确定是否理解(你应该用打印内容的名称编辑你的问题)。但是你可以在上面的代码中插入另一个
for
。或者,如果我理解的话,求和
数据[x][1]
(最后一个元素)+
数据[x][2]
(最后一个元素)然后计算平均值。尝试上面答案中的代码,你就会明白我的意思。所以,它几乎接近,但我想计算列表最后y子列表中x列的数据。例如,在你的示例中,列表的最后2个子列表。我不确定是否理解(你应该用打印内容的名称编辑你的问题)。但是你可以在上面的代码中插入另一个
for
。或者,如果我理解的话,求和
数据[x][1]
(最后一个元素)+
数据[x][2]
(最后一个元素)然后计算平均值。试试上面答案中的代码,你就会明白我的意思了。