Skip to main content
Back to problems
#1821
Easy Database

Find customers with positive revenue this year

Database
87.7% acceptance
Mar 31, 2026
66
26

No description available.

Solution

Pandas
Time O(1)
Space O(1)
LeetCode
solution.pandas
# Table: Customers
# 
# +--------------+------+
# | Column Name  | Type |
# +--------------+------+
# | customer_id  | int  |
# | year         | int  |
# | revenue      | int  |
# +--------------+------+
# (customer_id, year) is the primary key (combination of columns with unique values) for this table.
# This table contains the customer ID and the revenue of customers in different years.
# Note that this revenue can be negative.
# 
#  
# 
# Write a solution to report the customers with postive revenue in the year 2021.
# 
# Return the result table in any order.
# 
# The result format is in the following example.
#
# Example 1:
# Input:
# Customers table:
# +-------------+------+---------+
# | customer_id | year | revenue |
# +-------------+------+---------+
# | 1           | 2018 | 50      |
# | 1           | 2021 | 30      |
# | 1           | 2020 | 70      |
# | 2           | 2021 | -50     |
# | 3           | 2018 | 10      |
# | 3           | 2016 | 50      |
# | 4           | 2021 | 20      |
# +-------------+------+---------+
# Output:
# +-------------+
# | customer_id |
# +-------------+
# | 1           |
# | 4           |
# +-------------+
# Explanation:
# Customer 1 has revenue equal to 30 in the year 2021.
# Customer 2 has revenue equal to -50 in the year 2021.
# Customer 3 has no revenue in the year 2021.
# Customer 4 has revenue equal to 20 in the year 2021.
# Thus only customers 1 and 4 have positive revenue in the year 2021.

import pandas as pd

def find_customers(customers: pd.DataFrame) -> pd.DataFrame:
  result = customers[(customers['year'] == 2021) & (customers['revenue'] > 0)]
  return result[['customer_id']]