커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
3주차 코드 에러 질문
undefined주차
북마크
김*이
댓글
1
추천
0
조회수
7
조회수
7
답변 완료

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

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



늘 자세하고 친절하게 답변해주셔서 대단히 감사드립니다. 3주차 숙제 코딩을 하다가 모르는 부분이 너무 많아서 질문 드립니다. 미리 감사드립니다!


  1.   df_result = pd.DataFrame() 이후에 doc으로 데이터를 가져온 다음 남녀 임금 차이와 평균을 붙이려고 했는데.. 제 코드에는 어떤 문제점이 있어서 전혀 새로운 데이터가 추가되지 못한 걸까요..?ㅠㅠ
  2. 코드가 함수의 return으로 끝나지 않아도 값이 나올 수 있는 것일까요..? 제 코드에서 return df_result 부분이 없이 끝나면 맞는 코드가 되는 것일지 설명해주시면 감사드리겠습니다 ㅠㅠ





작성한 코드 및 에러 메세지

def get_salary(corp_code):


  corp_code = df_listed[df_listed['corp_name'] == corp_code].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 = {

      '기업명':df.iloc[0,0],

      '연봉(남)':df[df['sexdstn'] == '남'].iloc[0,2],

      '연봉(여)':df[df['sexdstn'] == '여'].iloc[0,2]

  }


  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(',', ''))


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

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


  df.result = df.result[df.result['corp_code'] == [doc, df_result['차이(남-여)'] , df_result['평균']]]

  df.result_columns = ['기업명', '연봉(남)', '연봉(여)', '차이(남-여)', '평균']


  corp_codes = list(df_listed.sample(10)['corp_code'])


  df_results = []

  for corp_code in corp_codes:

    try:

      df_result = get_salary(corp_code)

      df_results.append(df_result)

    except:

      print(f'error - {corp_code}')


  df_result = pd.concat(df_results)

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


  return df_result



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