1587. 银行账户概要 II - 力扣(LeetCode)
可以使用 SQL 或 Pandas 来解决这个问题。以下是两种方案:
✅ SQL 解决方案:
SELECT u.name, SUM(t.amount) AS balance
FROM Users u
JOIN Transactions t ON u.account = t.account
GROUP BY u.name
HAVING SUM(t.amount) > 10000;
✅ Pandas 解决方案:
假设你已经有两个 DataFrame:
import pandas as pd
# 示例 DataFrame
# users_df = pd.DataFrame(...)
# transactions_df = pd.DataFrame(...)
# 合并两个表
merged_df = pd.merge(users_df, transactions_df, on='account')
# 分组并求每个用户的总余额
balance_df = merged_df.groupby('name', as_index=False)['amount'].sum()
# 过滤出余额大于 10000 的用户
result = balance_df[balance_df['amount'] > 10000]
# 重命名列以匹配要求
result.rename(columns={'amount': 'balance'}, inplace=True)
🔍 输出格式:
name | balance |
---|---|
Alice | 15000 |
Bob | 12000 |