У меня есть CSV-файл со следующим содержимым:
R10_0_yrdi_391 111 1.11 1.0 1.1 111.0
R10_0_yfyrn_9132 222 2.22 2.0 2.2 222.0
R10_0_hfeisk_3 333 3.33 3.0 3.3 333.0
R20_0_yrdi_391 444 4.44 4.0 4.4 444.0
R20_0_yfyrn_9132 555 5.55 5.0 5.5 555.0
R20_0_hfeisk_3 666 6.66 6.0 6.6 666.0
Теперь я хочу сгенерировать новый CSV с отсортированным первым столбцом таким образом, чтобы рядом стояли одинаковые значения, соответствующие значениям R10_0
и R20_0
:
R10_0_yrdi_391 111 1.11 1.0 1.1 111.0
R20_0_yrdi_391 444 4.44 4.0 4.4 444.0
R10_0_yfyrn_9132 222 2.22 2.0 2.2 222.0
R20_0_yfyrn_9132 555 5.55 5.0 5.5 555.0
R10_0_hfeisk_3 333 3.33 3.0 3.3 333.0
R20_0_hfeisk_3 666 6.66 6.0 6.6 666.0
Другим уловом является то, что часть первого столбца R10_0_
или R20_0_
является фиксированной, но длина более поздней части, т.е. _yrdi_391
, _yfyrn_9132
или _hfeisk_3
является переменной величиной.
Я пытался использовать:
f = df.columns.values.tolist()
df.sort_values(by=f[:1])
Но это клубит все R10_0_
и R20_0_
вместе.
Любая помощь будет по достоинству оценена.