这个线程here使用sort_values
按列对数据帧进行排序
这个线程here讨论了如何使用切片简洁地反转字符串
我的问题:我想使用值为字符串的列对数据帧进行排序,如下所示:
df = pd.DataFrame(['a1a', 'a3d', 'a2b', 'a4c'], columns=['col'])
sort_value()
将字符串从左向右排序。在这种情况下,输出为:
df_sort = df.sort_values(['col'])
col
0 a1a
1 a2b
2 a3d
3 a4c
如果我想从右到左对字符排序,那么将sort_values()
和反向字符串语法结合起来的最佳方法是什么?
预期输出(注意项目索引2和3的切换顺序)
col
0 a1a
1 a2b
2 a4c
3 a3d
更新:来自@Anurag Dabas的预期输出
df = pd.DataFrame(['a1a', 'a2b', 'a3d', 'a4c','b9a','c8b'], columns=['col'])
df_sort =
0 a1a
1 b9a
2 a2b
3 c8b
4 a4c
5 a3d
尝试通过
sort_values()
中的key
参数:df_sort
的输出:所以你必须基本上反转列,然后对它进行排序
您可以使用
pd.DataFrame.apply
和pd.DataFrame.sort_values
执行此操作:或者只使用
pd.DataFrame.sort_values
中的key
参数:相关问题 更多 >
编程相关推荐