我试图计算Test.txt
中数组的平均值。但我得到一个错误。我给出了Test.txt
的内容以及预期的输出。
import ast
import numpy as np
file_path = "C:/Users/USER/OneDrive - Technion/Research_Technion/Python_PNM/Basics/Velocity_Average/Test.txt"
with open(file_path) as f:
content = f.read()
data = ast.literal_eval(content)
for arr in data:
arr = np.array(arr) # Convert the array to a NumPy array
filtered_data = arr[arr > 1e-9] # Filter elements greater than 1e-9
mean = np.mean(filtered_data)
print(mean)
字符串Test.txt
的内容是
[array([[1.0],
[2.0],
[3.0],
[4.0],
[1e-12]])]
[array([[1.0],
[2.0],
[3.0],
[4.0],
[1e-12]])]
型
错误是
line 7
[array([[1.0],
^
SyntaxError: invalid syntax
型
预期输出为
[2.5,2.5]
型
2条答案
按热度按时间iklwldmw1#
在您的文件中,您可以在成对的括号之间使用Python列表的字符串表示。字面量 array 是不相关的。
您可以使用正则表达式隔离列表。
字符串
输出:
型
备注:
该输出与OP的要求不同,但实际上表示列表中的正确平均值
xurqigkl2#
另一种可能的解决方案:
字符串
输出量:
型