python - 简单但奇怪的 vstack/concatenate 问题 (python)

标签 python list numpy concatenation

我一直在阅读有关 numpy 数组的文档,其中一些没有意义。 例如给出的答案here建议使用 np.vstack 或 np.concatenate 来组合数组,就像互联网上的许多其他地方一样。 但是,当我尝试将 lists 转换为 np.arrays 时,这是行不通的: ”

>>> some_list = [1,2,3,4,5]
>>> np.array(some_list)
array([1, 2, 3, 4, 5])
>>> some_Y_list = [2,1,5,6,3]
>>> np.array(some_Y_list)
array([2, 1, 5, 6, 3])
>>> dydx = np.diff(some_Y_list)/np.diff(some_list)
>>> np.vstack([dydx, dydx[-1]])"

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    np.vstack([dydx, dydx[-1]])
  File "C:\Python27\lib\site-packages\numpy\core\shape_base.py", line 226, in vstack
    return _nx.concatenate(map(atleast_2d,tup),0)
ValueError: array dimensions must agree except for d_0

有什么办法可以做到这一点吗?

在本例中,我所需要的只是使任意阶的导数与用户给出的 X 数组的形状相同,以便我可以进行处理。

感谢您的帮助。

最佳答案

除非在某些非常有限的情况下,以下内容将不起作用:

np.vstack([dydx, dydx[-1]])

这里,dydx 是一个数组,dydx[-1] 是一个标量。

目前尚不清楚您想要实现什么目标,但您是否打算将它们水平堆叠:

np.hstack([dydx, dydx[-1]])

In [38]: np.hstack([dydx, dydx[-1]])
Out[38]: array([-1,  4,  1, -3, -3])

关于python - 简单但奇怪的 vstack/concatenate 问题 (python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14901317/

相关文章:

python - 如何在 VSCode 的默认主题中为 Python 自定义文档字符串颜色?

C 回调的 Python 包装

python - 如果内部列表中有任何元素匹配,如何从列表列表中获取列表

java - 通过两个参数对 Java 列表进行排序?

python - Save.numpy masked array to a .numpy array with NaNs where mask == True

python - 如何使用一个 numpy bool 数组修改另一个 numpy 数组?

用于搜索 url 的 Python 代码

python - numpy 和 Keras 中 "reshape"函数的差异

python - 正则表达式仅捕获 0 到 85