커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
Dart API를 통한 종목 분석 숙제 내용 중 궁금점
undefined주차
북마크
정*완
댓글
4
추천
0
조회수
8
조회수
8
답변 완료

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

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


def get_salary(name): 


  corp_code = df_listed[df_listed['corp_name'] == name].iloc[0,0]

  data = dart_fss.api.info.emp_sttus(corp_code, '2021''11011')


  df = pd.DataFrame(data['list'])

  df = df[['corp_name''sexdstn''jan_salary_am']]


  df_result = pd.DataFrame()

  doc = {

      '기업명' : name,

      '연봉(남)' : df[df['sexdstn'] == '남'].iloc[-1,-1],

      '연봉(여)' : df[df['sexdstn'] == '여'].iloc[-1,-1]

  }

  df_result = df_result.append(doc, ignore_index = True)


  df_result['연봉(남)'] = pd.to_numeric(df_result['연봉(남)'].str.replace(',',''))

  df_result['연봉(여)'] = pd.to_numeric(df_result['연봉(여)'].str.replace(',',''))


  return df_result


노션 강의 자료와 영상의 내용이 다소 다르지만 여차저차 잘 따라갔습니다. 다만 여기서 get_salary를 정의하면서 '카카오'를 name으로 바꾸는데

중간에 doc = {} 안의 '기업명' 부분에 'corp_name'으로도 해보고, df['corp_name']으로도 해보고, 위에 보시는 바와 같이 그냥 name으로도 해봤습니다.


names = list(df_listed.sample(10)['corp_name'])


dfs=[]

for name in names:

  try:

    df = get_salary(name)

    dfs.append(df)

  except:

    print(f'error - {name}')


df_result = pd.concat(dfs)

df_result['차이(남-여)'] = df_result['연봉(남)'] - df_result['연봉(여)']

df_result['평균'] = (df_result['연봉(남)'] + df_result['연봉(여)'])/2


df_result.sort_values(by="차이(남-여)",ascending=True)


다음 내용을 위와 같이 코드를 입력하였고, 결과에 큰 차이를 알 수가 없었습니다. (아무래도 샘플만 가져오는 것이다보니 결과가 계속 바뀌어서 관측이 어려웠던 것 같습니다.)

느낌상 name으로 넣으면 될 것 같기는 한데 각각의 차이가 무엇인지와 이 경우 무엇으로 입력해야 하는지를 알려주실 수 있을까요?








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