python pandas排序问题
原始数据的excel表格,如下图
想用python的pandas把excel变成按相同地点和按相同地点的数量由大到小排序,如下图
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
原始数据的excel表格,如下图
想用python的pandas把excel变成按相同地点和按相同地点的数量由大到小排序,如下图
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
如果需要自定义city的顺序,可以使用pd.Categorical修改city的顺序。
如果要自动生成特定的自定义城市顺序,只需要通过程序生成
这个列表。
这个程序的生成逻辑是:原始表的城市名去倒序排列,后保持顺序去重。
直接set去重会破坏顺序,需要自定义一个函数
因此,最后列表生成的方法为:
最终代码:
最后结果:
修改原始数据后,最终的结果如下
根据城市的出现的个数倒序进行排列的代码如下:
结果如下:
逻辑上没那么复杂,添加个计数辅助列,然后多列排序完事:
执行结果:
注意,既然使用了 Pandas 就尽量不要使用 Python 原生列表类操作,用 pandas/numpy 相关函数替代,否则数据量大的时候会非常慢,能差几个数量级?
利用一下楼上数据