커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
3주차 숙제에서 숫자로 나온 연봉 값에 숫자 세자리 마다 반점 찍는 방법은 없을까요?
undefined주차
북마크
이*주
댓글
1
추천
0
조회수
19
조회수
19
답변 완료

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

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


문자열을 pd.to_numeric 을 사용해서 숫자로 바꾸고,

숫자로 바뀐 값에 세자리마다 반점을 넣어 보기 쉽게 하고 싶은데 혹시 방법이 있을까요?






작성한 코드 및 에러 메세지

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


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



  return df_result


ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
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.sort_values(by='차이(남-여)',ascending=True)



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