기출문제

FDA2급_제8회_확정답안.pdf
1.22MB


예제파일

분개장_2급_8회_01.csv
1.15MB
선적.csv
0.02MB
수출송장.csv
0.03MB


판다스 코드 답안


39번

# csv 파일 불러오기 : 한글이 깨지는 경우 encoding : cp949로 시도
df = pd.read_csv('분개장_2급_8회_01.csv')

# 전표생성자 ID, 계정과목, 차변금액 조건에 해당하는 경우 칼럼 삽입
df['빈도'] = [1 if (x[0] == 60009 and x[1] == 1215 and x[2] > 100000) else 0 
		for x in zip(df['전표생성자ID'], df['계정코드'], df['차변금액'])]
        
# df_요약 테이블 생성
gb_1 = df.groupby(['전표일자', '전표번호'])

df_요약 = pd.DataFrame(
{'빈도' : gb_1['빈도'].sum()}
).reset_index()  # reset_index()를 해야 인덱스가 리셋된다.

# 필터링
df_발췌 = df_요약[df_요약['빈도'] > 0].reset_index()

# 출력
print(df_발췌)

 


40번

import pandas as pd

# csv 파일 불러오기 : 한글이 깨지는 경우 encoding : cp949로 시도
df = pd.read_csv('분개장_2급_8회_01.csv')

# 칼럼 삽입
df['수출외상매출금_빈도'] = [1 if (x[0] == '수출외상매출금' and x[1] > 0) else 0 
		for x in zip(df['계정과목'], df['대변금액'])]
        
df['외환차손_빈도'] = [1 if (x[0] == '외환차손' and x[1] > 0) else 0 
		for x in zip(df['계정과목'], df['차변금액'])]
        
        
# df_요약 테이블 생성
gb_1 = df.groupby(['전표일자', '전표번호'])

df_요약 = pd.DataFrame(
{'수출외상매출_빈도' : gb_1['수출외상매출금_빈도'].sum(),
'외환차손_빈도' : gb_1['외환차손_빈도'].sum(),
}
).reset_index()  # reset_index()를 해야 인덱스가 리셋된다.

# 필터링
df_발췌 = df_요약[(df_요약['수출외상매출_빈도'] > 0) & (df_요약['외환차손_빈도'] > 0)]


# 출력
print(df_발췌)
print(len(df_발췌))

41번

import pandas as pd
import datetime as dt

# 데이터프레임 가로 보기 확장
pd.set_option('display.max_columns', None) 

# 파일 불러오기
df_수출송장 = pd.read_csv('수출송장.csv')
df_선적 = pd.read_csv('선적.csv')

# outer join
df_조인 = df_수출송장.merge(df_선적, on = '송장번호', how = 'outer' )

# 판매일자, 선적일자, 납기일 datetime 화
df_조인['판매일자'] = pd.to_datetime(df_조인['판매일자'])
df_조인['선적일자'] = pd.to_datetime(df_조인['선적일자'])
df_조인['납기일'] = pd.to_datetime(df_조인['납기일'])


df_발췌 = df_조인[(df_조인['선적일자'].isnull()) | (df_조인['선적일자'] >= dt.datetime(2018,1,1))]

print('매출과대 : ', sum(df_발췌['송장금액']))
print('2017 매출금액: ', sum(df_조인['송장금액']) -sum(df_발췌['송장금액']))

 

AI 답안

# 필수 라이브러리 임포트
import openai
import pandas as pd
import pandas_gpt

# pandas_gpt에서 openai api 선택
pandas_gpt.completer = pandas_gpt.OpenAI('o4-mini')

# OpenAI key 텍스트 저장
with open('chatGPT_api_key.txt', 'r') as file:
    openai.api_key = file.read().strip()
    
df_전체 = pd.read_csv('분개장_2급_8회_01.csv')


질문_39 = "동일한 전표일자에 동일한 전표번호는 하나의 전표세트를 의미한다.\
전표생성자ID가 60009이며, 계정코드가 1215이고, 차변금액이 100000보다 큰 레코드가 포함되어 있는 전표세트의 개수를 구하라."


질문_40 = "동일한 전표일자에 동일한 전표번호는 하나의 전표세트를 의미한다.\
    계정과목이 수출외상매출금이며 대변금액이 0보다 크고, 계정과목이 외환차손이고 차변금액이 0보다 큰 것이 포함된 전표세의 갯수를 구하고\
    그 전표세트를 데이터프레임으로 나타내라."

 
질문_추가 = "레코드를 가장 많이 입력한 젼표생성자ID 랭킹 5위를 그래프로 보여줘. 한글이 깨지지 않게 해줘."

# 질문부분을 적절하게 수정, verbose = True는 판다스 코드를 생성해주는 파라미터
답변_1 = df_전체.ask(질문_추가,verbose=True)


print(답변_1)

+ Recent posts