21 lines
555 B
Python
21 lines
555 B
Python
import pandas as pd
|
|
|
|
|
|
class Selector:
|
|
def select(self, codes: [str], df: pd.DataFrame) -> [str]:
|
|
return codes
|
|
|
|
|
|
class Score:
|
|
def score(self, codes: [str], df: pd.DataFrame) -> [(str, int)]:
|
|
return list(map(lambda code: (code, 0), codes))
|
|
|
|
|
|
class PeriodSelector(Selector):
|
|
def __init__(self, period: int = 5):
|
|
self.__period = period
|
|
|
|
def select(self, codes: [str], df: pd.DataFrame) -> [str]:
|
|
size_df = df.groupby("code").size()
|
|
return list(filter(lambda code: size_df[code] > self.__period, codes))
|