커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
2-4강 판다스 응용 방법(시가총액 하위 20% 필터)
undefined주차
북마크
백*정
댓글
2
추천
0
조회수
9
조회수
9
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


2-4강 듣다가 응용하고 싶어서 질문 드립니다.


강의 내용

pbr < 1 & 시총 1조 이상 & per < 20 (per 0 이하는 제외)


제가 응용해보고 싶은 것

pbr <1 (단, pbr <0.2 주식은 제외) & 시총 하위 20% & per < 10 (per 0 이하는 제외)

로 응용하고 싶어서요.

pbr 0.2 미만인 주식은 제외하고, per 10이하인 것은 쉽게 해결했는데

시총 하위 20%(소형주)로 매기는 건 어떻게 하는지 궁금합니다.


다른 분들은 질문 안 하셨길래 제가 질문합니다.

인터넷에 시총 하위 20% 분위 뽑는 코드를 찾기 했는데, 실제로 어떻게 넣어야하는지 응용이 안 됩니다..

quantile 함수를 활용하던데, 도움 주시면 감사하겠습니다.





일단 한 것만 캡쳐합니다.

pbr 0.2 미만인 주식은 제외하고, per 10이하

시총1조 이상 필터는 그대로 뒀습니다.


스파르타 즉문즉답




작성한 코드 및 에러 메세지



1) 강의 내용 코드

pbr < 1 & 시총 1조 이상 & per < 20 필터하기


df = pd.read_excel('종목데이터.xlsx')


cond = df['change_rate'] > 0

df = df[cond]


cond = df['per'] > 0

df = df[cond]


df['earning'] = df['marketcap']/df['per']

df['close'] = df['per'] * df['eps']


del df['date']


cond = (df['pbr'] < 1) & (df['marketcap'] < 1000000000000) & (df['per'] < 20)

df = df[cond]


df



2) 응용하고 싶은 코드

pbr <1 (단, pbr <0.2 주식은 제외) & 시총 하위 20% & per < 10 필터하기

pbr <1 (단, pbr <0.2 주식은 제외), per < 10 는 했는데

시총 하위 20%는 하지 못했습니다.


df = pd.read_excel('종목데이터.xlsx')


cond = df['change_rate'] > 0

df = df[cond]


cond = df['per'] > 0

df = df[cond]


cond = df['pbr']> 0.2

df = df[cond]


df['earning'] = df['marketcap']/df['per']

df['close'] = df['per'] * df['eps']


del df['date']


cond = (df['pbr'] < 1) & (df['marketcap'] < 1000000000000) & (df['per'] < 10)

df = df[cond]


df




3) 시총 하위 20% 필터링 코드 (인터넷에서 서칭해봄)


시총을 오름차순해서(낮은순서부터) 하위 20%로 그룹핑하는 코드 찾았는데 이것을 어떻게 써야할지 모르겠습니다.


data = drop_column(data)

    return data[data["marketcap"] <= data["marketcap"].quantile(q=0.2)].sort_values(by=["marketcap"], ascending=True)





취소
 공유
취소
댓글 0
댓글 알림
나의얼굴