转置大桌子

转置大桌子

伙计们

如果之前有人问过这个问题,我很抱歉,但我会尝试一下。

我有一个表格(制表符分隔的文本文件),其格式如下

         Species1   Species2    Species3
 Gene 1   Value      Value       Value

 Gene 2   Value      Value       Value      

 Gene 3   Value      Value       Value      

 .
 .
 .

我需要将其更改为以下格式:

Gene 1   Species 1   Value

Gene 2   Species 1   Value 

Gene 3   Species 1   Value 

.
.
.

Gene 1   Species 2   Value 

Gene 2   Species 2   Value 

Gene 3   Species 2   Value 

.
.
.

etc.

有一个特定的unix命令可以做到这一点吗?或者可以直接在Excel中完成吗?该表有近 12 万个数据点,因此我认为手动执行此操作是不可能的。

正如您可能知道的那样,我并不完全是这些事情的专家。

提前致谢。

答案1

你应该仔细看看麻木。 Numpy 是非常强大的工具,可以帮助您以任何您想要的方式组织矩阵。

看一下下面的例子:

>>> import numpy as np
>>> a = np.array([[1, 2, 3], [4, 5,6]])
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> a.transpose()
array([[1, 4],
       [2, 5],
       [3, 6]])

您还可以将数据从 csv 或 txt 等数据文件导入 numpy。

np.genfromtxt('path/to/myfile.csv',delimiter=',',skiprows=1)

由于您没有清楚地描述您正在使用哪种数据样式,因此很难找到您实际需要的内容,但这应该可以帮助您入门。

如果您掌握了 numpy 的窍门,您可能想更深入地研究熊猫

相关内容