Python pandas - суммирует значения столбцов и создает словарь - PullRequest
0 голосов
/ 22 сентября 2019

Я ожидаю, что выходные данные кадра данных Pandas будут суммированы и возвращены в виде списка, отсортированного по убыванию.

Пример: df имеет значения ниже

         a      b        c 
------------------------------
0        3      5        0
1        0      1        2
2        1      2        1     

df.sum (axis = 1, skipna = True) будет суммировать столбцы и возвращаться как

a = 4
b = 8
c = 3

Я хотел получить результат как [b, a, c].Как получить список?

Ответы [ 2 ]

3 голосов
/ 22 сентября 2019

Вы можете использовать pandas.Series.sort_values ​​, чтобы упорядочить выходную серию, после использования pandas.Series.tolist или pandas.Series.to_dict для преобразования всписок или диктовать:

my_sum_serie=df.sum().sort_values(ascending=False) #get a ordered pandas Series
print(my_sum_serie)
my_list=my_sum_serie.tolist() #get a list
print(my_list)
my_dict=my_sum_serie.to_dict() #get a dict
print(my_dict)


b    8
a    4
c    3
dtype: int64
[8, 4, 3]
{'b': 8, 'a': 4, 'c': 3}
1 голос
/ 22 сентября 2019

sum возвращает панд Series с индексом.При сортировке индекс также переставляется

df.sum(skipna=True).sort_values(ascending=False).index.to_list()

['b', 'a', 'c']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...