Сортировка кадров данных [дубликат]

Я предпочитаю использовать функцию forEach, которая имеет собственное закрытие с созданием псевдодиапазона:

var funcs = [];

new Array(3).fill(0).forEach(function (_, i) { // creating a range
    funcs[i] = function() {            
        // now i is safely incapsulated 
        console.log("My value: " + i);
    };
});

for (var j = 0; j < 3; j++) {
    funcs[j](); // 0, 1, 2
}

Это выглядит более уродливым, чем диапазоны на других языках, но IMHO менее чудовищным, чем другие решения.

60
задан Sachila Ranawaka 13 June 2016 в 10:44
поделиться

2 ответа

Используйте sort_values , чтобы отсортировать df по значениям определенного столбца:

In [18]:
df.sort_values('2')

Out[18]:
        0          1     2
4    85.6    January   1.0
3    95.5   February   2.0
7   104.8      March   3.0
0   354.7      April   4.0
8   283.5        May   5.0
6   238.7       June   6.0
5   152.0       July   7.0
1    55.4     August   8.0
11  212.7  September   9.0
10  249.6    October  10.0
9   278.8   November  11.0
2   176.5   December  12.0

Если вы хотите отсортировать по двум столбцам, передайте список меток столбцов sort_values с метками столбцов, упорядоченными в соответствии с приоритетом сортировки. Если вы используете df.sort_values(['2', '0']), результат будет отсортирован по столбцу 2, а затем по столбцу 0. Конечно, это не имеет смысла для этого примера, потому что каждое значение в df['2'] уникально.

82
ответ дан Steven C. Howell 22 August 2018 в 17:28
поделиться

Просто добавьте еще несколько операций с данными. Предположим, что у нас есть dataframe df, мы можем сделать несколько операций для получения желаемых выходов

ID         cost      tax    label
1       216590      1600    test      
2       523213      1800    test 
3          250      1500    experiment

df['label'].value_counts().to_frame().reset_index()).sort_values('label', ascending = False)

даст sorted вывод меток как dataframe

    index   label
0   test        2
1   experiment  1
0
ответ дан Harry_pb 22 August 2018 в 17:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: