【发布时间】:2016-11-02 15:00:20
【问题描述】:
所以我有一个列表:-
a = [[1,2,3,4],[5,6,7,8],[4,5,6,7]]
我想遍历内容并避免某个列。所以我一般的for循环结构如下:
for i in range (0,len(a[0])):
现在据我所知,我还需要一个条件来避开某个列。我该怎么做?
另一种方法是删除整个列并将其附加到末尾。
所以删除列后:
a = [[1,2,4],[5,6,8],[4,5,7]]
添加后:
a = [[1,2,4,3],[5,6,8,7],[4,5,7,6]]
我可以使用 numpy 来执行此操作。所以我正在从 numpy.xml 中删除所需的列。 这是一个工作代码:
a = [[1,2,3,4],[5,6,7,8],[4,5,6,7]]
a_np= np.array(a)
a_col_data = a_np[:,2]
a1 = np.delete(a_np, 2 , axis = 1)
现在我的 a_col_data 是 [3 7 6]
我无法以这种格式追加。我需要这种格式[[3],[7],[6]]
然后我可以使用以下代码将其作为最后一列附加到:
np.append(a_np, a_col_data, axis=1)
现在我面临的这种方法存在问题:
如何将列表[3 7 6] 转换为[[3],[7],[6]]?
考虑到我有一个包含 150 列和 3000 行的列表,我无法手动完成。
另一个问题是 np.array 将列表转换为类似结构的纯矩阵,删除元素之间的“,”。我想找回列表结构。 例如:
a = [[1,2,4],[5,6,8],[4,5,7]]
a_np = [[1 2 4][5 6 8][4 5 7]]
如何将 a_np 再次转换为 a?
编辑:
好的,我刚刚浏览了 stackoverflow,我找到了解决方案。我可以简单地执行以下操作将其转换回来:
a_np.tolist()
【问题讨论】:
标签: python python-2.7 list numpy matrix