【发布时间】:2016-08-27 12:50:24
【问题描述】:
给定一个 str 类型的 Pandas Series,我想对 str.split 返回的结果进行排序。
例如,给定系列
s = pd.Series(['abc,def,ghi','ghi,abc'])
我想得到
s2 = pd.Series(['abc,def,ghi','abc,ghi'])
结果。
我该怎么做?我想到了s.str.split(',').sort()之类的东西。但是,我在 Pandas 中找不到这样的排序功能。还有其他想法吗?
另一个想法是使用函数get_dummies,然后重新排列列,最后执行join_dummies 之类的操作。但是,我找不到这样的功能join_dummies。
【问题讨论】:
-
将每一行的字符串拆分,排序并重新加入它是非常低效的。你最终想要得到什么输出?请显示在此之后消耗 s2 的步骤。为什么不同列名的排序顺序很重要?拆分字符串并使用
get_dummies()听起来不错,假设您对在步骤 s2 可以获得的不同字符串名称的数量有所限制。不管怎样,我们真的需要更多的上下文。
标签: python string sorting pandas dataframe