使用 Pandas 对 Dataframe 进行排序。保持列完整

如下图所示,我想Type按字母顺序对聊天进行排序。但是,我不想弄乱[Date , User_id]每个Chat name. 鉴于我在左侧有输入数据框,我该怎么做?(在 python 中使用 Pandas)


http://img4.mukewang.com/610141fb00013c1d11170496.jpg

MMMHUHU
浏览 295回答 2
2回答

不负相思意

您想使用稳定的排序算法对值进行排序,即归并排序:df.sort_values(by='Type', kind='mergesort')从链接的答案:如果具有相同键的两个对象在排序输出中的出现顺序与它们在要排序的输入数组中出现的顺序相同,则称排序算法是稳定的。来自熊猫文档:种类:{'quicksort', 'mergesort', 'heapsort'},默认为'quicksort'排序算法的选择。另请参阅 ndarray.np.sort 以获取更多信息。归并排序是唯一稳定的算法。对于 DataFrames,此选项仅在对单个列或标签进行排序时应用。更新:正如@ALollz 正确指出的那样,最好先将所有值转换为小写,然后进行排序(即,否则“Bird”将被放置在结果中的“aligator”之前):df['temp'] = df['Type'].str.lower()df = df.sort_values(by='temp', kind='mergesort')df = df.drop('temp', axis=1) 

桃花长相依

df.sort_values(by=['Type'])&nbsp;[1]你可以做你自己的排序函数[2],字符串可以直接比较 stringRow2 < stringRow3 。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python