Сортировка других столбцов на основе указанного столбца

У меня есть файл.dat с тремя столбцами, разделенными пробелами [пример показан ниже, но в моем случае нет имен столбцов], и мне нужно отсортировать другие столбцы по столбцу фазы, который сортируется от наименьшего к наибольшему.

Например,

Time    Phase    Mag 
t1      0.1      m1 
t2      0.0      m2
t3      0.2      m3
t4      0.4      m4
t5      0.3      m5

А затем отсортируйте три столбца следующим образом:

t2      0.0       m2
t1      0.1       m1 
t3      0.2       m3
t5      0.3       m5
t4      0.4       m4

Я нашел пример для данных с двумя столбцами, пример сортировки с двумя столбцами, но он не работает для трех столбцов. Может кто-то помочь мне с этим?

1 ответ

Я сохранил содержимое ниже в файл с именем example.dat

Time    Phase    Mag 
t1      0.1      m1 
t2      0.0      m2
t3      0.2      m3
t4      0.4      m4
t5      0.3      m5

Код ниже должен сделать эту работу.

import pandas as pd

df = pd.read_csv("example.dat",delim_whitespace=True) # read the file with whitespaces as the delimiter
df.sort_values("Phase") # sort on the column "Phase"

Выход:

    Time Phase  Mag
1   t2   0.0    m2
0   t1   0.1    m1
2   t3   0.2    m3
4   t5   0.3    m5
3   t4   0.4    m4
Другие вопросы по тегам