Written on
·
523
0
강의와 관련있는 질문을 남겨주세요.
• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)
• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)
• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등)
질문 전달에도 요령이 필요합니다.
• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.
• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.
• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요.
• 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요!
구체적인 질문일수록 명확한 답을 받을 수 있어요.
• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.
• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.
• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다.
기본적인 예의를 지켜주세요.
• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다.
• 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요.
• 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
human_activity data load가 잘 되지 않습니다. 그리하여, 그냥 이거 관련 데이터는 실습을 하지 못했는데요.
X_train = pd.read_csv('./human_activity/train/X_train.txt',sep='\s+',names=feature_name)
위의 코드에서 자꾸 다음과 같은 에러가 뜨는 데요..데이터상이나 코드나 문제가 없어보이는 데 왜이러는 지 모르겠습니다.
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-14-883fade4f50e> in <module> ----> 1 X_train = pd.read_csv('./human_activity/train/X_train.txt',sep='\s+',names=feature_name) ~\Anaconda3\lib\site-packages\pandas\io\parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision) 674 ) 675 --> 676 return _read(filepath_or_buffer, kwds) 677 678 parser_f.__name__ = name ~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds) 443 444 # Check for duplicates in names. --> 445 _validate_names(kwds.get("names", None)) 446 447 # Create the parser. ~\Anaconda3\lib\site-packages\pandas\io\parsers.py in _validate_names(names) 411 if names is not None: 412 if len(names) != len(set(names)): --> 413 raise ValueError("Duplicate names are not allowed.") 414 415 ValueError: Duplicate names are not allowed.
Duplicate names are not allowed 인데...정작 데이터셋에서는 Duplicate names가 없쟎아요..
뭐가 잘못일까요?
Answer 1
0
안녕하십니까,
pandas 패키지가 upgrade 되면서 duplicate names 를 허용하지 않게 변경 되었습니다.
아래 내용 참조 부탁드립니다.
1. 4장의 Human Activity Record 데이터 세트가 중복된 컬럼명을 가지고 있습니다. 판다스 버전이 업그레이됨에 따라 더 이상 중복된 컬럼명을 허용하지 않으므로 신 버전의 판다스에서는 Duplicate column 오류가 발생합니다.
이를 수정하기 위해서 get_new_feature_name_df() 를 새롭게 생성하고, 이를 get_human_dataset( )에서 이용하는 방식으로 소스코드를 변경하였습니다.
해당 소스코드는 4.2 결정 트리_Ver01.ipynb 과 4.3_앙상블학습_4.4_랜덤포레스트_4.5_GBM_Ver01.ipynb에 반영이 되어 있으며, 강의 소스코드가 위치한 https://github.com/chulminkw/PerfectGuide 의 4장 디렉토리 에서 확인하실 수 있습니다. (또는 https://github.com/chulminkw/PerfectGuide/tree/master/4%EC%9E%A5)
새로 주피터 노트북 다운로드 부탁드립니다. 해당 내용은 https://www.inflearn.com/instructor/news 에 첫번째 사항으로 공지 되었습니다. 내용 확인 부탁드립니다.