Сортировка других столбцов на основе указанного столбца
У меня есть файл.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