我try to sort list by frequency and then by name只(Pandas 1.3.2只,Python 3.10只).
首先是I count each occurence in list,然后是if amount is equal, names must be ordered alphabetically.
我发现,当Len(List)<;19.魔术...
Code:个
import pandas
df_data = pandas.DataFrame({
'data':
['14209adobepremiere', 'adobe-flash-player', 'adobe-flash-player-cis',
'adobe-photoshop-cc-cis', 'discord', 'discord', 'driverpack',
'freeoffice', 'freeoffice2018', 'generals',
'tiktok-for-pc-cis', 'tlauncher', 'utorrent', 'viber',
'winrar', 'zoom', 'zoom', 'zoom-client-for-conferences',
'zoom-client-for-conferences-cis']
})
with pandas.option_context('display.max_rows', None, 'display.max_columns', None):
print(df_data['data'].value_counts().sort_index(
ascending=True,
).sort_values(ascending=False))
预期输出(按计数顺序,然后按字母顺序顺序):
discord 2
zoom 2
14209adobepremiere 1
adobe-flash-player 1
adobe-flash-player-cis 1
adobe-photoshop-cc-cis 1
driverpack 1
freeoffice 1
freeoffice2018 1
generals 1
tiktok-for-pc-cis 1
tlauncher 1
utorrent 1
viber 1
winrar 1
zoom-client-for-conferences 1
zoom-client-for-conferences-cis 1
Name: data, dtype: int64
实际输出(按计数说明,而不是按字母顺序):
zoom 2
discord 2
14209adobepremiere 1
tiktok-for-pc-cis 1
zoom-client-for-conferences 1
winrar 1
viber 1
utorrent 1
tlauncher 1
generals 1
adobe-flash-player 1
freeoffice2018 1
freeoffice 1
driverpack 1
adobe-photoshop-cc-cis 1
adobe-flash-player-cis 1
zoom-client-for-conferences-cis 1
Name: data, dtype: int64
Thnx in advance for any help.个