从二维数组调整列表大小
Resizing list from a 2D array
我在尝试按以下方式调整大小时遇到问题:
我在处理数据后得到一个二维数组,现在我想调整数据的大小,每行忽略前 5 项。
我现在正在做的是:
编辑:只要您确保使用的是列表而非字符串,此方法就可以正常工作。它无法在我这边工作,因为我没有正确完成从字符串到列表的转换。
所以它最终消除了整个字符串中的前五个字符。
2dArray=[[array1],[array2]]
new_Resize_2dArray= [array[5:] for array in 2dArray]
但是,它似乎不起作用,因为它只是将所有元素重新复制到 new_Resize_2dArray
。
我想寻求帮助,看看我做错了什么,或者是否有任何科学计算库可以用来实现这个目标。
首先,因为 python 列表索引是 zero-based,所以如果您不想包含前 5 列,您的代码应该是 new_Resize_2dArray= [array[5:] for array in 2dArray]
。否则,我认为您的单行代码没有问题。
至于科学计算库,numpy
是一个非常流行的第 3 方包,具有 high-performance 多维数组类型 ndarray
。使用 ndarray
s,您的代码可以缩短为 new_Resize_2dArray = 2dArray[:,5:]
旁白:在您获得意外结果的地方包含更多代码或最小示例会有所帮助(例如,使用 fake/stand-in 二维数组查看它是否按预期工作或仍然失败。
我在尝试按以下方式调整大小时遇到问题:
我在处理数据后得到一个二维数组,现在我想调整数据的大小,每行忽略前 5 项。
我现在正在做的是:
编辑:只要您确保使用的是列表而非字符串,此方法就可以正常工作。它无法在我这边工作,因为我没有正确完成从字符串到列表的转换。 所以它最终消除了整个字符串中的前五个字符。
2dArray=[[array1],[array2]]
new_Resize_2dArray= [array[5:] for array in 2dArray]
但是,它似乎不起作用,因为它只是将所有元素重新复制到 new_Resize_2dArray
。
我想寻求帮助,看看我做错了什么,或者是否有任何科学计算库可以用来实现这个目标。
首先,因为 python 列表索引是 zero-based,所以如果您不想包含前 5 列,您的代码应该是 new_Resize_2dArray= [array[5:] for array in 2dArray]
。否则,我认为您的单行代码没有问题。
至于科学计算库,numpy
是一个非常流行的第 3 方包,具有 high-performance 多维数组类型 ndarray
。使用 ndarray
s,您的代码可以缩短为 new_Resize_2dArray = 2dArray[:,5:]
旁白:在您获得意外结果的地方包含更多代码或最小示例会有所帮助(例如,使用 fake/stand-in 二维数组查看它是否按预期工作或仍然失败。