按字符串长度对熊猫系列中的列表进行排序

Posted

技术标签:

【中文标题】按字符串长度对熊猫系列中的列表进行排序【英文标题】:Sort list in pandas series by length of string 【发布时间】:2018-10-27 22:02:00 【问题描述】:

我想根据字符串的长度(最长在前)对数据框中的列表进行排序

brand       serie
&tradition  [&tradition flowerpot, &tradition spinning pen, &tradition test]
Dove        [dove deeply nourishing, dove men+care]
Adidas      [adidas ace, adidas gel]
Vasaline    [vaseline advanced repair, vaseline men]
Boska       [boska dutch, boska test2, boska testing]

我希望结果看起来像这样:

brand       serie
.....       ......
Boska       [boska testing, boska dutch, boska test2]

提前感谢您的帮助!

【问题讨论】:

【参考方案1】:

您可以将pd.Series.applysorted 一起使用:

def sorter(x):
    return sorted(x, key=len, reverse=True)

df['serie'] = df['serie'].apply(sorter)

【讨论】:

以上是关于按字符串长度对熊猫系列中的列表进行排序的主要内容,如果未能解决你的问题,请参考以下文章

根据字符串的长度对 Python 列表进行排序

按 J 中的长度对字符串中的单词进行排序

按字符串列的长度对数据帧进行排序[重复]

Shell 按照字符串长度进行排序

按文本字符长度对目录中的文件进行排序并复制到其他目录[关闭]

Groovy:如何按字符串长度顺序对 String:s 的 ArrayList 进行排序?