我有一个有20列的df。第一列标题是gene,接下来的19列是用于不同的实验。你知道吗
gene 1-1164-KO-aa8 22-1264-wt-aa8 15-1175-wt-aa9 27-1195-KO-aa9 ...
abc 11.9898 11.9898 11.9898 11.9898 ...
cde 11.9898 11.9898 11.9898 11.9898 ...
.
.
我需要根据列的标签来排序。你知道吗
将第一列基因保留在适当的位置,并仅根据标签的这一部分(wt-aa8、wt-aa9、KO-aa8、KO-aa9)对其余的进行排序。你知道吗
首先是基因,然后是所有的wt-aa8,接着是所有的wt-aa9,然后是所有的KO-aa8,最后是所有的KO-aa9。但排序后的列需要具有原始的全名(如1-1164-KO-aa8)。你知道吗
所以应该是这样的:
gene 22-1264-wt-aa8 22-1264-wt-aa8 1-1164-KO-aa8 27-1195-KO-aa9
abc 11.9898 11.9898 11.9898 11.9898
cde 11.9898 11.9898 11.9898 11.9898
通常我只在标题上写数字,然后做一个测向排序这显然不起作用,不幸的是,我不得不保留原来的列名。你知道吗
有什么办法吗?你知道吗
链接到示例df。 https://drive.google.com/file/d/0Bzv1SNKM1p4uYW9yQWJNT21NNVU/view?usp=sharing
如果在本例中它只是一个单列,通常您可以按数字排序,尝试在excel中打开它,然后您可以将列拖放到正确的顺序,然后再次保存。你知道吗
或者,将标头重命名为1.1-1164-KO-aa8 3.22-1264-wt-aa8 2.15-1175-wt-aa9 7.27-1195-KO-aa9
然后按数字排序。你知道吗
明确的黑客,但20列相当快。你知道吗
如果具有相似字符串的列只需要彼此相邻,那么您可以非常简单地做到这一点。你知道吗
首先,制作一个只包含列的“可排序”部分的字典。我们只使用第一列之后的列来排除
gene
列。分割是基于您包含的文件,而不是示例中的文件,但是您可以修改它。你知道吗其次,创建一个dataframe,其中列顺序不是由原始列名决定的,而是由字典中的(排序的)值决定的。你知道吗
相关问题 更多 >
编程相关推荐