Dan*_*ris 1 python sorting bash sum matrix
我有一个样式的二进制 tsv 矩阵:
name product 141 142 143 144 145 146 147
n1 p1 0 0 0 0 0 1 1
n2 p2 1 1 1 1 1 1 0
n3 p3 1 0 1 1 0 1 1
Run Code Online (Sandbox Code Playgroud)
如何按行总和降序对这个矩阵进行排序?(从第 2 行开始,第三列到最后一列的总和)请询问您是否需要更多详细信息或想要示例文件。
您可以使用熊猫。
import pandas as pd
file_name = "..."
df = pd.read_csv(file_name)
df = (df.set_index(['name', 'product']) # Use `name` and `product` as index.
.assign(sum=df.sum(axis=1)) # Add temporary 'sum' column to sum rows.
.sort_values(by='sum', ascending=False) # Sort by row sum descending order.
.iloc[:, :-1]) # Remove temporary `sum` column.
>>> df
141 142 143 144 145 146 147
name product
n1 p1 0 0 0 0 0 1 1
n2 p2 1 1 1 1 1 1 0
n3 p3 1 0 1 1 0 1 1
Run Code Online (Sandbox Code Playgroud)