我有一个matrix(比较大),我需要转置。 例如,假设我的matrix是 abcdef ghijkl mnopqr 我想要的结果如下: agm bhn c I o djp ekq flr 什么是最快的方法来做到这一点?
我有一个2项目元组的列表,我想将它们转换为2个列表,其中第一个包含每个元组中的第一个项目,第二个列表包含第二个项目。 例如: original = [('a', 1), ('b', 2), ('c', 3), ('d', 4)] # and I want to become… result = (['a', 'b', 'c', 'd'], [1, 2, 3, 4]) 是否有一个内置的function呢?
有没有公式将列中的数据转换为matrix或行? 并从其他组合转换? 那么更复杂的情况是什么呢?重塑一个宽度为W的matrix为宽度为N * W? 有几个相似或相关的问题。 我已经回答了其中的一些,标有*。 我不断更新这个列表,因为添加了新的类似(或相等)的问题: 格式化数据:列到行 * 将内容从1列移动到3列 * 如何根据EXCEL中的条件将一列分成两列 * 写一个macros将3列转换为1行 Excel VBA转换与字符 math转置在Excel中 Excel中的每个条目如何将“matrix” – 表格转换为一行 将具有多行数据的列转换为Excel中具有多列的行。 如何使用VBA重塑excel中的数据 * 将三列sorting为六列,使用excel水平排列姓氏 * 将excel中的一列中的数据分成多列 将数据从多列移动到单行 * 其中一些答案似乎是“可升级的”,以涵盖更多的东西。 那可能吗? 要从/转换的样本格式是: 柱 1 2 3 4 5 6 7 … 行 1 2 3 4 5 6 7 … matrix(在这里有4列的跨度) 1 2 3 4 […]
假设我使用std::vector来表示值的matrixfoo : int rows = 5; int cols = 10; auto foo = vector<vector<double>>(rows, vector<double>(cols)); 是否有一个简单的方法来获取包含foo的第一个“列”的大小rows的vector<int> : {foo[0][0], foo[0][1], foo[0][2], foo[0][3], foo[0][4] } 换句话说,我可以“转置”foo,以便下列三件事情是真实的: foo_transpose.size() == cols foo_transpose[0].size() == rows foo_transpose[0] == {foo[0][0], foo[0][1], foo[0][2], foo[0][3], foo[0][4] } 澄清笔记 对于代表“matrix”的替代方法,有几个好的build议。 当我使用术语“matrix”时,我只是指每个第二级vector的大小相同。 我不是说我会用这个数据结构来进行线性代数types的操作。 实际上,我需要一个vectorvector或一个数据结构,从中可以“拉出”一维vector,因为我有一些function可以对vector进行操作,例如: double sum(vector<double> const & v); 我打电话给: sum(foo[0]); 只是在特殊情况下,我想到了一个需要做的事情: sum({foo[0][0], foo[0][1], foo[0][2], foo[0][3], […]
我有下面的表格 Id Letter 1001 A 1001 H 1001 H 1001 H 1001 B 1001 H 1001 H 1001 H 1001 H 1001 H 1001 H 1001 A 1001 H 1001 H 1001 H 1001 B 1001 A 1001 H 1001 H 1001 H 1001 B 1001 B 1001 H 1001 H 1001 H 1001 B […]
我使用Python和NumPy,并有“转置”的一些问题: a=array([5,4]) print a print aT 调用aT不是转置数组。 如果a例如[[],[]]那么它转换正确,但我需要转置[…,…,…] 。
我有一个数组的数组,如下所示: [ [1,2,3], [1,2,3], [1,2,3], ] 我想转置它来获得以下数组: [ [1,1,1], [2,2,2], [3,3,3], ] 使用循环以编程方式执行并不困难: function transposeArray(array, arrayLength){ var newArray = []; for(var i = 0; i < array.length; i++){ newArray.push([]); }; for(var i = 0; i < array.length; i++){ for(var j = 0; j < arrayLength; j++){ newArray[j].push(array[i][j]); }; }; return newArray; } 然而,这似乎很笨重,我觉得应该有一个更简单的方法来做到这一点。 在那儿?
让我们来: l = [[1,2,3],[4,5,6],[7,8,9]] 我正在寻找的结果是 r = [[1,4,7],[2,5,8],[3,6,9]] 并不是 r = [(1,4,7),(2,5,8),(3,6,9)] 非常感激
是否有一个Python的zipfunction的JavaScript等价物? 也就是说,给定两个长度相等的数组创build一个数组对。 例如,如果我有三个看起来像这样的数组: var array1 = [1, 2, 3]; var array2 = ['a','b','c']; var array3 = [4, 5, 6]; 输出数组应该是: var output array:[[1,'a',4], [2,'b',5], [3,'c',6]]
我有一个巨大的制表符分隔文件格式化 X column1 column2 column3 row1 0 1 2 row2 3 4 5 row3 6 7 8 row4 9 10 11 我只想使用bash命令以有效的方式转换它(我可以编写十行左右的Perl脚本来执行此操作,但执行速度应该比本机bash函数慢)。 所以输出应该看起来像 X row1 row2 row3 row4 column1 0 3 6 9 column2 1 4 7 10 column3 2 5 8 11 我想到了这样的解决方案 cols=`head -n 1 input | wc -w` for (( i=1; i […]