Python错误代码
所以我尝试平均每600行。我得到的Python错误索引超出了范围,并且数字显示不正确。帮助?Python错误代码,python,numpy,Python,Numpy,所以我尝试平均每600行。我得到的Python错误索引超出了范围,并且数字显示不正确。帮助? import numpy as np data = np.loadtxt('Y:/Canopy/PSUone.txt', delimiter = ',', skiprows = 0) shape = np.shape(data) data_you_want = data[:,3] daily_averages = list() for i,d in enumerate(data_you_want):
import numpy as np
data = np.loadtxt('Y:/Canopy/PSUone.txt', delimiter = ',', skiprows = 0)
shape = np.shape(data)
data_you_want = data[:,3]
daily_averages = list()
for i,d in enumerate(data_you_want):
if (i % 600) == 0:
avg_for_day = np.mean(data_you_want[i - 600:i])
daily_averages.append(avg_for_day)
with open('Y:/Canopy/newPSUone.txt', 'w') as f:
f.write('Wind U Direction\n')
f.write('------------------\n')
for i, d in enumerate(data_you_want):
s = '{0:4.3f}\n'. format(daily_averages[i])
f.write(s)
f.close()
我认为你遇到的问题是:
for i,d in enumerate(data_you_want):
if (i % 600) == 0:
avg_for_day = np.mean(data_you_want[i - 600:i])
daily_averages.append(avg_for_day)
。。。其次是:
for i, d in enumerate(data_you_want):
s = '{0:4.3f}\n'. format(daily_averages[i])
f.write(s)
因为你只需要从
你想要的数据
到每日平均值
的每600行取一次平均值,你将在每日平均值
中有len(你想要的数据)//600个元素。如果你迭代你想要的数据
并尝试获取每日平均值[i]
,那么你将到达i
大于每日平均值
长度的点,你将得到一个错误。你的输入文件看起来如何??,更新到你的帖子data\u you\u you\u want=data[:,3]
gives error>TypeError:列表索引必须是整数,而不是元组注释,当i为0时,i%0将为真,因此您将平均行数-600:0,这可能不是您想要的。@ForceBru。。。这种语法在Numpy中运行良好<代码>数据
不是一个列表。@VivekSable,f
是一个文件处理程序,不是吗?