
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
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으로 넣으면 될 것 같기는 한데 각각의 차이가 무엇인지와 이 경우 무엇으로 입력해야 하는지를 알려주실 수 있을까요?
