inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]

pandas 라이브러리로 실제 데이터 전처리하기4

9분경에 나오는 for file in csv_list 코드부분에서 질문이 있습니다.

289

shara040217

작성한 질문수 2

0

for file in csv_list:

doc = create_dateframe(file)

final_doc = pd.merge(final_doc, doc, how='outer', 이하생략)

final_doc = final_doc.fillna(0

return final_doc

 

이렇게 코드를 작성해도 되지 않을까?라는 생각이 들었는데, 굳이 if문을 거치는 이유가 무엇인가요?

python pandas

답변 1

0

잔재미코딩 DaveLee

안녕하세요. 답변도우미입니다.

기본적으로는 동일한 기능을 하는 코드는 다양하게 작성이 가능합니다. 그래서 이야기하신 방안도 가능은 하지 않을까 생각합니다. 제시하신 코드 수정에서 주목해야 할 부분은 final_doc이 초기화되지 않았다는 것입니다. 첫 번째 file에서 pd.merge를 호출할 때 final_doc이 아직 정의되지 않았기 때문에 오류가 발생할 수 있습니다.

원래 코드에서는 first_doc라는 플래그를 사용하여 첫 번째 파일의 경우 final_docdoc으로 초기화하고, 그 이후의 파일들에 대해서는 final_doc과 merge하는 방식을 사용하고 있습니다.

제안하신 수정을 정상적으로 동작하게 하려면, final_doc의 초기 상태를 정의해주는 작업이 필요합니다. 아래는 수정된 코드의 예시입니다:

final_doc = None

for file in csv_list:

    doc = create_dateframe(file)

    

    if final_doc is None:

        final_doc = doc

    else:

        final_doc = pd.merge(final_doc, doc, how='outer', left_index=True, right_index=True)

final_doc = final_doc.fillna(0)

return final_doc

이렇게 수정하면 첫 번째 file에서 final_docNone인 것을 확인하고 초기화하고, 그 다음부터는 기존 final_doc과 새로운 doc을 merge하게 됩니다.

따라서 위와 같이 수정하면 원래의 코드와 동일한 기능을 수행할 수 있습니다.

감사합니다.

Python 3 표시 없습니다.

0

58

1

강의실습 말고 강의에 대한 자료(pdf)가 없을까요?

0

70

1

구글 코랩과 아나콘다

0

84

1

강의와 다르게 오류가 뜨는 이유가 뭘까요?

0

102

1

COVID-19-master 관련 등 자료 누락

0

87

1

수업자료에 python_core_summary.ipynb 파일이 포함되어 있지 않습니다!

1

98

1

json.dumps관련된 질문

0

72

1

빅분기대비

0

112

1

파이썬으로 Plain Text 포멧 파일 다루기 연습문제 질문

0

94

1

강의자료 어디서 다운로드받나요?

0

139

1

pandas 라이브러리의 quotechar 인자에 대해 질문드립니다

0

102

1

iplot 에러 문제

1

200

1

플래그

0

76

1

플래그 라이브러리

0

85

1

CSV 파일 쓰기 다른 기법(사전 타입으로 쓰기) 관련

0

180

1

CSV 파일 읽을 때 오류

0

193

1

read() 함수 사용할 때 3번째 줄에 data로 출력 또는 print(data)로 출력 차이

0

136

1

강의 교재 및 실습 파일 제공되나요?

0

181

1

deep_data_and_visual 파일에서 에러가 납니다.

0

182

1

apply()함수

0

201

1

pandas groupby sum 질문

1

272

1

pandas_eda 자료 맨아래 heatmap 숫자가 안나옵니다

0

353

2

pandas_eda 힛맵에서 숫자가 안떠요

0

255

1

수업 자료에 pandas_basic 파일이 없습니다..!

0

277

1