df怎么多次分组排序
时间: 2024-10-23 10:15:43 浏览: 8
pandas groupby 分组取每组的前几行记录方法
在pandas DataFrame中,你可以通过`groupby`函数对数据进行多次分组,然后对每个组内的数据进一步应用排序操作。这里有一个基本的例子:
```python
# 假设我们有一个包含订单数据的DataFrame 'orders'
df_orders = pd.DataFrame({
'customer': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob', 'Charlie'],
'order_date': pd.date_range(start='2022-01-01', periods=6),
'amount': [100, 200, 150, 175, 225, 180]
})
# 第一次分组:按照顾客分组
grouped_by_customer = df_orders.groupby('customer')
# 对每个客户的所有订单按日期排序
sorted_by_date = grouped_by_customer['order_date'].sort_values()
# 或者你可以直接得到每个客户的排序后的订单DataFrame
sorted_customers = grouped_by_customer.apply(lambda group: group.sort_values(by='order_date'))
# 如果你想获取每个客户最晚的订单日期
latest_order_date = sorted_customers['order_date'].max()
```
在这个例子中,我们首先按照`customer`字段分组,然后对每个组内的`order_date`进行排序。如果你想根据多个字段排序,可以在`sort_values`函数中传入多个键名。
阅读全文