inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

강의 8:44초 질문 (Confirmed대신 Deaths변경)

303

정석 하

작성한 질문수 1

0

- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)
- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다
- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

확진자를 사망자로 바꾸는 작업을 진행중인데 강의 8:44초 기준 최종코드에서 나머지는 다 같고 Confirmed를 Deaths로 바꾸어 주었습니다. 그런데 에러가 발생하고 에러내용은 다음과 같습니다. 에러를 풀기가 너무 어렵네요,, 도움 부탁드립니다.

KeyError: "['Deaths'] not in index"

"None of [Index(['Country/Region', 'Deaths'], dtype='object')] are in the [columns]"

 

-전체 코드-

import json

import pandas as pd

with open('csse_covid_19_daily_reports/country_convert.json', 'r', encoding='utf-8-sig') as json_file:

json_data = json.load(json_file)

def country_name_convert(row):

if row['Country_Region'] in json_data:

return json_data[row['Country_Region']]

return row['Country_Region']

def create_dateframe(filename):

PATH = "csse_covid_19_daily_reports/"

doc = pd.read_csv(PATH + filename, encoding='utf-8-sig') #csv 파일 읽기

try:

doc = doc[['Country_Region','Deaths']]

except:

doc = doc[['Country/Region', 'Deaths']]

doc.columns = ['Country_Region', 'Deaths']

doc = doc.dropna(subset=['Deaths']) # 3. 특정 컬럼에 없는 데이터 삭제하기

doc['Country_Region'] = doc.apply(country_name_convert, axis=1) # 4. 'Country_Region'의 국가명을 여러 파일에 일관되게 변경하기

doc = doc.astype({'Deaths': 'int64'}) # 5. 특정 컬럼의 데이터 타입 변경하기

doc = doc.groupby('Country_Region').sum() # 6. 특정 컬럼으로 중복된 데이터를 합치기

# 7. 파일명을 기반으로 날짜 문자열 변환하고, 'Confirmed' 컬럼명 변경하기

date_column = filename.split(".")[0].lstrip('0').replace('-', '/')

doc.columns = [date_column]

return doc

import os

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

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)

final_doc = final_doc.fillna(0)

return final_doc

 

 

pandas python

답변 1

0

잔재미코딩 DaveLee

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

전체 코드가 길어서, 해당 부분을 재현하거나, 이해하기가 쉽지는 않은데요. 또 해당 코드의 어느 라인에서 에러가 난 것인지 알기가 어려워서 정확하게 의견을 드리기가 쉽지는 않더라고요. 하지만, 명확히 에러의 의미는 Deaths 라는 컬럼이 없다라는 뜻입니다. 따라서, 해당 에러나 난 코드에서 적용하는 데이터프레임을 head() 등으로 그 앞에서 출력해보시면서, 해당 데이터프레임에 Deaths 컬럼이 있는지를 확인해보시고, 해당 데이터프레임을 먼저 원하시는 코드에 알맞게 보완을 하시면 좋을 것 같습니다.

감사합니다.

Python 3 표시 없습니다.

0

59

1

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

0

71

1

구글 코랩과 아나콘다

0

86

1

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

0

104

1

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

0

89

1

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

1

98

1

json.dumps관련된 질문

0

72

1

빅분기대비

0

112

1

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

0

95

1

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

0

141

1

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

0

102

1

iplot 에러 문제

1

201

1

플래그

0

76

1

플래그 라이브러리

0

86

1

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

0

181

1

CSV 파일 읽을 때 오류

0

196

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

354

2

pandas_eda 힛맵에서 숫자가 안떠요

0

256

1

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

0

277

1