Python 用.txt pyhton计算一些平均值
我有ecc.txt文件。它包含8000多行数字。我想计算该文件中每360行的平均值。 代码如下:Python 用.txt pyhton计算一些平均值,python,average,Python,Average,我有ecc.txt文件。它包含8000多行数字。我想计算该文件中每360行的平均值。 代码如下: import math f = open(r'ecc.txt').read() data = [] for line in data: sum = 0 for i in range (len(data)): if i%360 !=0: sum = sum + ecc[i] else: average = sum/360 pri
import math
f = open(r'ecc.txt').read()
data = []
for line in data:
sum = 0
for i in range (len(data)):
if i%360 !=0:
sum = sum + ecc[i]
else:
average = sum/360
print(average)
sum=0
当我运行它时,什么都不会发生。我是说,我没有得到任何结果。代码刚刚运行并结束,没有任何结果
这个代码有什么问题吗?
谢谢。您的代码将进行一些更改:
import math
data=[]
with open(r'ecc.txt') as f:
for i in f:
data.append(int(i))
for line in data:
sum = 0
for i in range (len(data)):
if i%360 !=0:
sum = sum + ecc[i]
else:
average = sum/360
print(average)
sum=0
但是请注意,此代码不包括每个第360个元素的值(我想这不是平均值的问题),而且您也没有最后一个元素的平均值您的代码将进行一些更改:
import math
data=[]
with open(r'ecc.txt') as f:
for i in f:
data.append(int(i))
for line in data:
sum = 0
for i in range (len(data)):
if i%360 !=0:
sum = sum + ecc[i]
else:
average = sum/360
print(average)
sum=0
avg_dict = {}
with open('ecc.txt') as f:
data = f.read().split(' ')
sum = 0
i = 0
for str_number in data:
sum += int(str_number)
i += 1
if i % 360 == 0:
avg_dict[i] = sum/360
sum = 0
但是要注意,这段代码不包括每个第360个元素的值(我想这不是平均值的问题),而且最后的元素也没有平均值
avg_dict = {}
with open('ecc.txt') as f:
data = f.read().split(' ')
sum = 0
i = 0
for str_number in data:
sum += int(str_number)
i += 1
if i % 360 == 0:
avg_dict[i] = sum/360
sum = 0
我假设您的文件文本有一个空格作为分隔符。否则,可以在拆分方法中更改sep值。如果没有分隔符,则将数据更改为:
data = list(f.read())
我假设您的文件文本有一个空格作为分隔符。否则,可以在拆分方法中更改sep值。如果没有分隔符,则将数据更改为:
data = list(f.read())
您正在迭代<代码>数据< /代码>,这是一个空的表,您应该考虑使用ItRealToS.ISLICE,而不是将整个文件读入内存。您可能也想将该文本转换为数字。非常感谢您的建议。是的,我忘了在数据中输入f@Thomasjungblutt非常感谢你的建议,你是对的,我在将文本转换为数字时遇到问题,但问题解决了,谢谢@MARMYYER正在迭代<代码>数据< /代码>,这是一个空的表,您应该考虑使用ItRealToS.ISLICE,而不是将整个文件读入内存中。您可能也想将该文本转换为数字。非常感谢您的建议。是的,我忘了在数据中输入f@Thomasjungblutt非常感谢你的建议,你是对的,我在将文本转换为数字时遇到问题,但问题解决了,谢谢@谢谢你。实际上,数据之间的分隔符是新行。下面是txt文件0.00002 0.0003 0.0004的示例,我认为应该以另一种方式拆分它。它必须被视为两个连续值之间的分隔符,在您报告的示例中,它们似乎由单个选项卡“\t”分隔。我为代码做了一个示例,假设值在您报告时是分开的,它是有效的!非常感谢你。实际上,数据之间的分隔符是新行。下面是txt文件0.00002 0.0003 0.0004的示例,我认为应该以另一种方式拆分它。它必须被视为两个连续值之间的分隔符,在您报告的示例中,它们似乎由单个选项卡“\t”分隔。我为代码做了一个示例,假设值在您报告时是分开的,它是有效的!