python - Numpy 数组(追加、连接)
问题描述
我正在尝试将“平均值”添加到其他 numpy 数组“所有平均值”,但附加、连接返回错误:
n1, n2, n3 = 5 , 16, 27
all_averages = np.array ([], dtype = float)
for i in range(1000):
sample_2 = pareto.rvs (7, size = n1)
average = np.array([np.average(sample_2)])
all_averages.append(average)
'numpy.ndarray' 对象没有属性 'append'
n1, n2, n3 = 5 , 16, 27
all_averages = np.array ([], dtype = float)
for i in range(1000):
sample_2 = pareto.rvs (7, size = n1)
average = np.array([np.average(sample_2)])
np.concatenate((all_averages, average))
print(all_averages)
[]
我错过了什么?
解决方案
Numpy 数组不像 python 列表,它们有固定的大小。这就是你找不到append
方法的原因。
但是,您真的很接近解决方案:np.concatenate
不能就地工作,而是返回连接数组。你应该环顾四周
all_averages = np.concatenate((all_averages, average))
为了提高效率,请尝试只执行一项concatenate
操作。将所有平均值存储在一个列表中,然后将它们连接在一起。这样,您将避免数组之间不必要的复制
n1, n2, n3 = 5 , 16, 27
all_averages_list = []
for i in range(1000):
sample_2 = pareto.rvs (7, size = n1)
average = np.array([np.average(sample_2)])
all_averages_list.append(average)
all_averages = np.concatenate(all_averages_list, axis=0) # check axis param, I'm not sure here
print(all_averages)
推荐阅读
- html - 三星手机和 Firefox 不支持电子邮件模板表情符号数字
- php - 仅对一个查询禁用 MySQL 严格模式 Laravel 5.6
- c# - 如何映射一对多的休眠类映射
- typescript - 使用 vuex 时如何在 typescript 语法中使用 mapState 函数?
- javascript - Angular 混合应用程序中的依赖注入(AngularJS 和 Angular 5)
- python - 为什么不使用 scipy 的最小化最小化平方误差给出与使用曲线拟合相同的结果?
- c# - 我可以使用 WPF 从 DomEventArgs 获取鼠标坐标吗
- c - 如何规避 GCC 中的格式截断警告?
- go - 如何访问gorm.Model.ID?
- java - 在 jdbc 中一次执行多个过程调用