数据分析(数据排序)

Python 数据分析 08:数据排序 ------ 思路自述

目标:把订单表按销量、价格等字段排序,支持单列和多列。

先上代码

import pandas as pd

1. 读取数据(只读前10行,方便观察排序效果)

df = pd.read_csv('data/sales.csv', nrows=10)

var = df

2. 排序

2.1 根据销量进行倒序排序

var1 = df.sort_values(by='销售数量', ascending=False)

2.2 根据价格升序排序

var2 = df.sort_values(by='单价', ascending=True)

2.3 先按价格升序,价格相同再按销售数量倒序

var3 = df.sort_values(by='单价', '销售数量', ascending=True, False)

print(var3)

我的思路:一个 sort_values 走天下

排序不用自己写算法,pandas 就一个方法 sort_values,靠两个参数:by 说按哪列排,ascending 说升还是降。

var1 按销量从高到低,ascending=False 就是倒序;var2 设 True 则从低到高。

进阶:多列排序,主次分明

var3 是真实里常见的"先按 A 排,A 一样再按 B 排"。我用两个列表:by=['单价','销售数量']、ascending=[True, False]------by 里越靠前优先级越高,先按单价升序,单价相同的行再按销量降序。

关键是 by 和 ascending 两个列表位置一一对应,别错位。

一个小习惯

这题我只 nrows=10 读了 10 行。排序逻辑跟数据量无关,读少几行屏幕一眼看全,做演示更直观。

相关推荐
天天被压力4 小时前
【A股分钟级高频数据完全手册 #01】Pro版接口体系总览与REST鉴权:42篇地图与从0接入
java·人工智能·python
xyouyuweizhu4 小时前
Java InetAddress 详解:从 IP 地址表示到主机名解析
java·开发语言·python
belldeep13 小时前
python:genesis-world, Genesis-Embodied-AI
人工智能·python·ai·genesis
benchmark_cc14 小时前
A 股、港股、美股如何建立统一的标的主数据格式?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
维克兜率天14 小时前
【维克】趋势型CTA:期货市场的“追涨杀跌“
人工智能·python
前进的李工15 小时前
Agent 学习笔记 05:系统提示词应该怎么写
笔记·学习·prompt·agent·个人开发·few-shot·ai应用开发
取名真是15 小时前
Python 算法知识点从基础到进阶
开发语言·python·算法
梦想不只是梦与想15 小时前
PyTorch、CPU、GPU、CUDA
人工智能·pytorch·python·深度学习·机器学习·cuda
数字融合15 小时前
透明化视频孪生危化安全管控解决方案
人工智能·python·安全
sibylyue15 小时前
BI(商业智能)
数据分析