Допустим, у меня есть этот фрейм данных.
df = pd.DataFrame([['A-store',5,'B-store',4,'C-store',6], \
['B-store',3,'P-store',4,np.nan,np.nan], \
['N-store',20,np.nan,np.nan,'I-store',9], \
['L-store',8,'N-store',2,'A-store',5]],
columns=['store_1','time_1','store_2','time_2','store_3','time_3'])
store_1 time_1 store_2 time_2 store_3 time_3
0 A-store 5 B-store 4.0 C-store 6.0
1 B-store 3 P-store 4.0 NaN NaN
2 N-store 20 NaN NaN I-store 9.0
3 L-store 8 N-store 2.0 A-store 5.0
Пример: чтобы попасть в А-магазин, требуется 5 минут.
Как мне отсортироватьнабор значений (хранилище, время), так что самый левый набор становится самым коротким, а самый правый становится самым длинным. Мне нужно отсортировать набор значений по нескольким столбцам. Кроме того, он включает в себя NaN.
Вот идеальный вывод.
shorter <-----------------------------------> longer
store_1 time_1 store_2 time_2 store_3 time_3
0 B-store 4.0 A-store 5 C-store 6.0
1 B-store 3 P-store 4.0 NaN NaN
2 I-store 9.0 N-store 20 NaN NaN
3 N-store 2.0 A-store 5.0 L-store 8
Возможно, я мог бы поворачиваться или складываться, и сортировать по строкам. Но я не уверен, как это сделать.
Если у кого-нибудь есть какие-нибудь хорошие идеи или коды, дайте мне знать.
Спасибо!