목록코드카타/Pandas (34)
susinlee 님의 블로그
[문제]https://leetcode.com/problems/managers-with-at-least-5-direct-reports/description/ [풀이]Pandasimport pandas as pddef find_managers(employee: pd.DataFrame) -> pd.DataFrame: # manager = employee.groupby('managerId', as_index=False).size() # merged = manager.merge(employee, left_on='managerId', right_on='id') # return merged[merged['size']>=5][['name']] managers = employee.groupby('..
[문제]https://leetcode.com/problems/students-and-examinations/description/?source=submission-ac [풀이]cross로 조인한 테이블과 미리 집계한 테이블을 이어 붙일 생각을 할 수 있어야 풀 수 있는 문제다.판다스로 문제를 풀 때는 테이블을 무작정 이을 생각이 아니라 처리를 먼저 한 다음에 붙일 줄 알아야 한다. Pandasimport pandas as pddef students_and_examinations(students: pd.DataFrame, subjects: pd.DataFrame, examinations: pd.DataFrame) -> pd.DataFrame: merged = pd.merge(students, subj..
[문제]https://leetcode.com/problems/employee-bonus/description/ [풀이] Pandasimport pandas as pddef employee_bonus(employee: pd.DataFrame, bonus: pd.DataFrame) -> pd.DataFrame: merged = pd.merge(employee, bonus, on='empId', how='left') cond1 = merged['bonus'].isna() cond2 = merged['bonus'] SQLselect name, bonusfrom Employee eleft join Bonus b ON e.empId = b.empIdwhere ifnull(bonu..
https://leetcode.com/problems/average-time-of-process-per-machine/description/ [문제]There is a factory website that has several machines each running the same number of processes. Write a solution to find the average time each machine takes to complete a process.The time to complete a process is the 'end' timestamp minus the 'start' timestamp. The average time is calculated by the total time to c..
https://leetcode.com/problems/rising-temperature/description/ [문제] Write a solution to find all dates' id with higher temperatures compared to its previous dates (yesterday).Return the result table in any order.The result format is in the following example. 1. diff() 함수는 연속된 행의 값의 차이를 계산하는 함수. 즉 이전 행과의 현재 행의 차이를 계산→ 현재행 값 - 이전행 값 Pandasimport pandas as pddef rising_temperature(weather: pd.DataFr..
https://leetcode.com/problems/customer-who-visited-but-did-not-make-any-transactions/description/[문제]Write a solution to find the IDs of the users who visited without making any transactions and the number of times they made these types of visits.Return the result table sorted in any order.The result format is in the following example. [풀이] Pandasimport pandas as pddef find_customers(visits: pd...
[문제] https://leetcode.com/problems/product-sales-analysis-i/description/Write a solution to report the product_name, year, and price for each sale_id in the Sales table.Return the resulting table in any order.The result format is in the following example. [풀이]Pandasimport pandas as pddef sales_analysis(sales: pd.DataFrame, product: pd.DataFrame) -> pd.DataFrame: df = pd.merge(sales, product, ..
[문제] 휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다. 예를 들어, 1번 키에 "A", "B", "C" 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 "A", 두 번 누르면 "B", 세 번 누르면 "C"가 되는 식입니다. 같은 규칙을 적용해 아무렇게나 만든 휴대폰 자판이 있습니다. 이 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 있을 수 있으며, 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배열되어 있습니다. 또, 같은 문자가 자판 전체에 여러 번 할당된 경우도 있고, 키 하나에 같은 문자가 여러 번 할당된 경우도 있..