表: Orders
+-----------------+----------+ | Column Name | Type | +-----------------+----------+ | order_number | int | | customer_number | int | +-----------------+----------+ 在 SQL 中,Order_number是该表的主键。 此表包含关于订单ID和客户ID的信息。
查找下了 最多订单 的客户的 customer_number
。
测试用例生成后, 恰好有一个客户 比任何其他客户下了更多的订单。
解题思路:
1.按照customer_number分组计数
2.筛选组最大值
import pandas as pd
def largest_orders(orders: pd.DataFrame) -> pd.DataFrame:
oeders_group = orders.groupby('customer_number').size()
if not oeders_group.empty:
large_id = orders.groupby('customer_number').size().idxmax()
orders_result = pd.DataFrame({'customer_number':[large_id]})
else:
orders_result = pd.DataFrame({'customer_number':[]})
#print(orders_result)
return orders_result
注:
idxmax()
函数将返回具有最大值的行的索引。
请注意,如果该列含有多个具有相同最大值的元素,则 idxmax()
函数只返回第一个最大值的索引。