단 두 장의 문서로 데이터 분석과 시각화 뽀개기
단 두 장의 문서로 데이터 분석과 시각화 뽀개기
수강정보
(74개의 수강평)
1500명의 수강생
데잇걸즈4기_김해인 프로필

[14/25] 원본데이터가 바뀌어서 새로 시도한 코드 관련 데잇걸즈4기_김해인 5일 전
[14/25] 거주지(구)별 확진자는 어떻게 될까? 저는 자료를 다운로드 받지 않고, 현재 시점 기준으로 크롤링을 해온 데이터를 활용해서 실습하고 있습니다. 그런데 서울시 제공 데이터가 조금 바뀌어서 현재는 타지역 정보가 ('타시도', '한국', '기타') 이렇게 됩니다. 나름대로 알려주신 코드를 조금 바꾸고, 결과는 강의처럼 나오게 해보았는데요. 아직 판다스가 익숙치 않아서, 두 가지 궁금증이 있습니다. 궁금 포인트1) 어떻게 하는지 몰라서 하나씩 따로 따로 뽑았는데요. 이거를 한 줄로 할 수는 없을까요? '멀티 인덱스는 안된다' 이런 오류가 계속 나오네요. 궁금 포인트2) 이것도 위와 비슷한 맥락입니다. 하나하나 빼줬는데, 이것도 한 줄로 할 수 있을까요? 아래에 제가 쓴 코드를 첨부합니다. # 거주지(구별) 확진자의 빈도수를 구하고 시각화 합니다. gu_count = df["거주지"].value_counts() gu_count.sort_values().plot.barh(figsize=(10,12)) # 궁금 포인트1 gu1 = gu_count[3:4].index gu2 = gu_count[23:24].index gu3 = gu_count[27:28].index # 궁금 포인트2 gu_count = set(gu_count.index) - set(gu1) - set(gu2) - set(gu3) df.loc[df["거주지"].isin(gu_count), "지역"] = df["거주지"] df["지역"] = df["지역"].fillna("타지역") df["지역"].unique()

1
pooh9431 프로필

CSV저장 경로 관련 pooh9431 14일 전
안녕하세요^^ CSV 파일을 불러 오기 관련 하여 CSV의 경로를 하위 C:\Users\DPA00320\Desktop\업무 작성 파일\10.각종보고서작성\장비분석보고서\ZDT 分析表\アラーム分析\코로나19발생동향 분석.csv (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape해당에러가 발생합니다. 한글과 일본어 병행해서 사용하고 있습니다. 여기에 저장을 시켜 연습을 하고 있는데 불러오지못하고 있습니다. 혹시 한글이 있는 폴더는 어떻게 해야하는지요? 테스트로 C:\Users\DPA00320\Desktop\corona19.csv 이러한 형식은 특별히 문제가 없습니다.

3
전재웅 프로필

colab에서 to_csv하면 저장이 안되나요? 전재웅 15일 전
강의 잘 듣고 있습니다. 강사님 실습데이터를 다운로드후 제 구글드라이브의 colab에 저장해놓고 실행하였습니다. to_csv 후 read_csv결과도 제대로 확인했는데 이상하게 제 구글드라이브에서 생성되어야하는 csv는 찾을 수 없네요. 혹시 이에 대해 아시는게 있으신가요?

3
pooh9431 프로필

2분25초 [[]] 사각 괄표를 두개를 묶는 이유는 무엇인가요?? pooh9431 16일 전
 [[]]  사각 괄표를 두개를 묶는 이유는 무엇인가요??  괄호에 대해서 설명을 듣고 싶습니다만...

3
엠엠 프로필

day_count[-50:].iloc[i]에서 질문 드립니다. 엠엠 17일 전
테스트를 해보니, iloc를 사용하지 않고 day_count[-50:][i]로 이차원 배열처럼 활용해도 결과는 같습니다. iloc를 사용했을때의 장점은 어떤건가요? 아니면 둘 중 어떤것을 사용해도 상관 없는건가요? 항상 좋은 강의 해주셔서 감사합니다.

1
엠엠 프로필

그래프에 숫자표시관련 질문입니다. 엠엠 17일 전
최근 확진자가 급속히 늘어서 그런가, 100명 이상되는 경우에만 숫자를 표시하게 해도 숫자가 너무 더럽게 나오고 있습니다. 혹시, 그래프에 숫자를 표시할때 자동으로 이쁘게 위치를 조정 가능한 방법이 있을까요?

1
엠엠 프로필

그래프의 색깔이 선생님의 그래프와 다릅니다. 엠엠 19일 전
공식문서나 제가 코드를 실행했을때는 아래와 같이 파란색으로만 나오는데, 선생님께서 작성할때는 색이 다양하게 나오네요. 기본 설정의 차이일까요? 아니면 파이썬 버전의 차이일까요?

1
pooh9431 프로필

코드 우측으로 정리 pooh9431 19일 전
df = pd.DataFrame({     "a": [4, 5, 6],     "b": [7, 8, 9],     "c": [10, 11, 12]      },      index=[1, 2, 3]) 이 코드 한번에 우측으로 정리 하시던데 어떻게 정리하는지요??  4분26초

1
파이썬조아~ 프로필

쥬피터 글꼴 문의드립니다 파이썬조아~ 24일 전
강의 감사합니다 강의중에 노트북 글꼴 좀 알수있을까요? 디폴트 폰트가 가독성이 많이 떨어지네요 ㅠㅠ 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 

3
morpheuslotus727 프로필

크롤링에 오류가 있는것같습니다. morpheuslotus727 1달 전
강사님을 따라 새로운 정보를 받아 파일을 생성했습니다. 그런데, 미리보기가 동영상과 다르게 보여집니다. 잘못된 정보가 들어온것같은데 어떻게 해야할지 모르겠어요 ㅠ

1
메론사탕 프로필

공부방법질문 메론사탕 1달 전
안녕하세요 영상잘보고있습니다  영상을 보면서 문득 궁금한점이있어서 질문드립니다 저는 판다스를 머신러닝공부를 위해 배우고있습니다 지금 강사님강의를 보면서 같이 주피터노트북으로 코드작성하는식으로 하는데요.. 이게 제가 뭔가 공부하면서 쌓인다는?느낌이없습니다..  그니까 그냥 강사님이 하시는걸 제가 이해하고 따라하긴하는데 제가 직접 코드를 작성하고 그런수준까지는 되지않는거같습니다... 판다스를 쓸수있다라고 말한정도의 수준은 제가 직접 코드를 작성할수 있는 수준까지 되야 어느정도 판다스를 안다 라고 말할수있는건가요?? 지금 강의는 계속듣고있는데 그냥 제가 직접뭔가를 한다기보단.. 강사님이하시는걸 따라하는듯한 느낌이너무크네요 밑에부분에 실습이있는거같긴한데.. 그부분도 제가 직접 능동적을 데이터분석을하고 그런것이 아니라 그냥 강사님이 하시는걸 그대로 따라할것만같은 느낌이들어서 이런식으로 공부하는게 맞는지 모르곘습니다ㅠㅠ 데이터분석쪽으로 게속공부를해야하는데 어떤식으로 공부하는게 좋을까요?

1
데잇걸즈4기_박예슬 프로필

df[df.b == 7] & df[df.a == 5] 일 때 오류가 뜹니다. 데잇걸즈4기_박예슬 1달 전
df[df.b == 7] & df[df.a == 5] 를 하는데  동영상 처럼 정상 작동이 안되고 아래와 같은 오류가 떠요  --------------------------------------------------------------------------- TypeError Traceback (most recent call last) C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops\array_ops.py in na_logical_op(x, y, op) 273 # (xint or xbool) and (yint or bool) --> 274 result = op(x, y) 275 except TypeError: TypeError: unsupported operand type(s) for &: 'float' and 'bool' During handling of the above exception, another exception occurred: TypeError Traceback (most recent call last) <ipython-input-115-a484abd3f4bf> in <module> ----> 1 df[df.b == 7] & df[df.a == 5] C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops\__init__.py in f(self, other, axis, level, fill_value) 765 766 left, right = self.align(other, join="outer", level=level, copy=False) --> 767 new_data = left._combine_frame(right, pass_op, fill_value) 768 return left._construct_result(new_data) 769 C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\frame.py in _combine_frame(self, other, func, fill_value, level) 5298 if ops.should_series_dispatch(self, other, func): 5299 # iterate over columns -> 5300 new_data = ops.dispatch_to_series(self, other, _arith_op) 5301 else: 5302 with np.errstate(all="ignore"): C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops\__init__.py in dispatch_to_series(left, right, func, str_rep, axis) 417 raise NotImplementedError(right) 418 --> 419 new_data = expressions.evaluate(column_op, str_rep, left, right) 420 return new_data 421 C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\computation\expressions.py in evaluate(op, op_str, a, b, use_numexpr) 206 use_numexpr = use_numexpr and _bool_arith_check(op_str, a, b) 207 if use_numexpr: --> 208 return _evaluate(op, op_str, a, b) 209 return _evaluate_standard(op, op_str, a, b) 210 C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\computation\expressions.py in _evaluate_numexpr(op, op_str, a, b) 119 120 if result is None: --> 121 result = _evaluate_standard(op, op_str, a, b) 122 123 return result C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\computation\expressions.py in _evaluate_standard(op, op_str, a, b) 68 _store_test_result(False) 69 with np.errstate(all="ignore"): ---> 70 return op(a, b) 71 72 C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops\__init__.py in column_op(a, b) 386 387 def column_op(a, b): --> 388 return {i: func(a.iloc[:, i], b.iloc[:, i]) for i in range(len(a.columns))} 389 390 elif isinstance(right, ABCSeries) and axis == "columns": C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops\__init__.py in <dictcomp>(.0) 386 387 def column_op(a, b): --> 388 return {i: func(a.iloc[:, i], b.iloc[:, i]) for i in range(len(a.columns))} 389 390 elif isinstance(right, ABCSeries) and axis == "columns": C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops\common.py in new_method(self, other) 62 other = item_from_zerodim(other) 63 ---> 64 return method(self, other) 65 66 return new_method C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops\__init__.py in wrapper(self, other) 550 rvalues = extract_array(other, extract_numpy=True) 551 --> 552 res_values = logical_op(lvalues, rvalues, op) 553 return _construct_result(self, res_values, index=self.index, name=res_name) 554 C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops\array_ops.py in logical_op(left, right, op) 364 filler = fill_int if is_self_int_dtype and is_other_int_dtype else fill_bool 365 --> 366 res_values = na_logical_op(lvalues, rvalues, op) 367 res_values = filler(res_values) # type: ignore 368 C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\ops\array_ops.py in na_logical_op(x, y, op) 279 x = ensure_object(x) 280 y = ensure_object(y) --> 281 result = libops.vec_binop(x, y, op) 282 else: 283 # let null fall thru pandas\_libs\ops.pyx in pandas._libs.ops.vec_binop() pandas\_libs\ops.pyx in pandas._libs.ops.vec_binop() TypeError: unsupported operand type(s) for &: 'float' and 'bool'

3
K Style 프로필

pandas read_html은 파이참 같은 IDE에서는 작동을 안하나요? K Style 1달 전
구글 코랩에서 해보니.. 되는데... 파이참에서는 안되는 것 같아 문의드립니다.

3
Jason Chung 프로필

NaN과 Blank의 차이점 문의 Jason Chung 1달 전
강사님  질문의 꼬리를 물어서 죄송해요^^ 우선 강사님 조언대로 적용 해보았는데,  df['입금'] = df['입금'].str.replace(',','') - 성공 df['입금'] = df['입금'].fillna(0) - 에러없이 작동했는데,df 불러오면 blank 그대로 나옵니다. 0이 아니라.. df['입금'] = df['입금'].astype('int64') - 에러 메세지 invalid literal for int() with base 10: '' 강사님 말씀하신 결측치 때문인거 같아서. pd.to_numeric으로 해보았습니다. df['입금'] = pd.to_numeric(df['입금']) - Data type float으로 변경 및 Blank 값이 NaN으로 변경 df['입금'] = df['입금'].astype('int64') - 에러 메세지 Cannot convert non-finite values (NA or inf) to integer 그래서 fillna(0) 하고나서 NaN이 0으로 변경후에 astype(int64)를 해주니 변경이 되었습니다. 아래와 같은 의문점이 들어서 질문 드립니다. 1. Blank와 NaN은 다른 건지요? 강사님이 말씀하신 결측치는 Blank인가요. 아님 NaN인가요? 판다스에서는 isnull 메소드 적용시 NaN 값은 인지(True) 하고. Blank는 결과를 못가져 오더라고요. 2. pd.to_numeric 은 float으로 항상 변환해 주는 건지요? 소숫점이 있어서 금액(원화) 하고 맞지 않아서 int로 변경해야 하는데, 결측치를 0으로 만들지 않고(그냥 NaN 유지) int 변경하는 방법은 없는지요? 질문의 의도가 문제를 쉽게 처리하려는 마음은 아니고, 제가 모르는 해결책이 있나 싶어 질문 드립니다.  

3
Jason Chung 프로필

데이터 전처리중 invalid literal for int() with base 10: '' 에러 문제 Jason Chung 1달 전
안녕하세요. 강사님  표제 관련하여 현장 업무 적용해 보려고 하는데, 제목과 같은 에러가 떠서요.  기본 Data set은 아래와 같고요.  입금 부분을 아래와 같이 천단위 없이 변경하려고 하였는데, 제목과 같은 에러가 떠서요. df type은  object입니다.   df['입금'] = df['입금'].str.replace(',','').fillna(0).astype('int64') 인터넷을 찾아보니, Blank로 되어 있어서 그렇다고 하는데 , Fillna(0)이 있으면  해당 칼럼을 전부 0으로 바꾸어 주는 것이 아닌지요.  강의 들을 때와 다르게 실제 파일 적용하려니 상황이 달라서 그런지 시각화 하기도 전부터 막힙니다. 도와주세요.   

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스