如何将Name列值相同的行分组并按Date列降序排序每组
按Name分组并对每组Date降序排序的实现方法
原始表格
| Name | Date | Value |
|---|---|---|
| A | 2023-01-02 | 10 |
| B | 2023-01-01 | 20 |
| A | 2023-01-05 | 15 |
| B | 2023-01-03 | 25 |
| C | 2023-01-04 | 30 |
预期排序结果
| Name | Date | Value |
|---|---|---|
| A | 2023-01-05 | 15 |
| A | 2023-01-02 | 10 |
| B | 2023-01-03 | 25 |
| B | 2023-01-01 | 20 |
| C | 2023-01-04 | 30 |
实现方法
Excel 操作步骤
- 选中包含表头的全部数据区域
- 打开「数据」选项卡,点击「排序」按钮
- 在排序对话框中配置:
- 主要关键字选「Name」,次序任选(只要能让同Name的行归为一组即可)
- 添加次要关键字「Date」,次序选择「降序」
- 确认勾选「数据包含标题」,点击「确定」完成排序
Python(pandas)代码实现
import pandas as pd # 加载数据(示例为CSV格式,可根据实际数据源调整) df = pd.read_csv("your_data.csv") # 将Date列转换为日期格式(若原始数据是字符串类型) df["Date"] = pd.to_datetime(df["Date"]) # 按Name分组、组内Date降序排序 sorted_df = df.sort_values(by=["Name", "Date"], ascending=[True, False]) # 保存排序后的结果 sorted_df.to_csv("sorted_data.csv", index=False)
内容的提问来源于stack exchange,提问作者GregB
相关产品推荐
相关产品推荐

