작성
·
229
0
강사님 안녕하세요.
마지막에 파일 병합하는 코드 질문 드립니다. (강의 9:15)
first_doc = True
for file in csv_list:
doc = create_dateframe(file)
if first_doc:
final_doc, first_doc = doc, False
else:
final_doc = pd.merge(final_doc, doc, how='outer', left_index=True, right_index=True)
"first_doc=True면 첫 프레임을 지금 프레임으로 만들고, first_doc이 채워졌으니 False로 만든다.
이후 final_doc이 기본 프레임이 된다."고 말씀하셨는데 이해가 안되서요.
아니 if first_doc: final_doc, first_doc = doc, False 의 문법 자체를 모르겠습니다 ㅠㅠ 이건 어떤 원리로 작성된 코드인지요?
답변 2
0
def generate_dateframe_by_path(PATH):
file_list, csv_list = os.listdir(PATH), list()
first_doc = True
for file in file_list:
if file.split(".")[-1] == 'csv':
csv_list.append(file)
csv_list.sort() #sort() 기본 오름차순정렬
for file in csv_list: csv_list의 file들이 하나씩 차례로 들어올거고
doc = create_dateframe(file) 그 파일들을 df으로 하나씩 만들고
if first_doc: 처음들어온 doc이라면 우선 if구문이 실행될건데
final_doc, first_doc = doc, False 위에서 first_doc =True로 지정했던 상태로, fisrt_doc = False로 바꾸고, 이번에 들어온 doc을 final_doc에 저장해라
else: 거고 그리고 다음 파일이 들어올 땐 fisrt_doc이 False이기 때문에 else문이 실행되고
final_doc = pd.merge(final_doc, doc, how='outer', left_index=True, right_index=True)
이번에 들어온 doc과 이전의 파일들이 저장된 final_doc을 합쳐서 새로운 final_doc을 생성
if 사과면:
먹는다.
else:
먹지 않는다.
이런식으로 if else문을 설명하시더라구요. 초보입장에서 다른 초보분들한테 혹시 도움이 되지 않을까 해서 해석해봤습니다 ㅎ..ㅎ
0
안녕하세요. 제가 다음과 같이 작성을 한 것인지 의문이 조금 들어요.
여하튼 다음과 같이 쓰면, 앞에 선언된 것이 = 다음에 앞에 선언된 것으로 대입되고, 두번째 선언된 것이, = 다음에 두번째의 값에 대입이 됩니다. 이 부분은 영상에서 나올때마다 설명을 드리고 있어서, 영상을 다시 보셔도 좋을 것 같습니다.
final_doc, first_doc = doc, False
감사합니다.