擅长:python、mysql、java
<p>如果具有相似字符串的列只需要彼此相邻,那么您可以非常简单地做到这一点。你知道吗</p>
<pre><code>coldict = {c: c.split('-', 2)[2] for c in df.columns[1:]}
df = df[['gene'] + sorted(df.ix[:, 1:].columns, key=lambda x: coldict[x])]
</code></pre>
<p>首先,制作一个只包含列的“可排序”部分的字典。我们只使用第一列之后的列来排除<code>gene</code>列。分割是基于您包含的文件,而不是示例中的文件,但是您可以修改它。你知道吗</p>
<p>其次,创建一个dataframe,其中列顺序不是由原始列名决定的,而是由字典中的(排序的)值决定的。你知道吗</p>