묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨공공데이터로 파이썬 데이터 분석 시작하기
지겹지만 정규표현식에 대한 전처리 질문드립니다.
정규표현식에서 전처리할 때, 선생님이 가르쳐 주신 코드는 약간 이해가 안되서 다른 개발자들 블로그를 검색하다가 아래와 같은 방식을 발견하고 사용해보니 선생님과 동일한 결과 값이 나오네요.. gym = re.sub('[0-9-=+#/\?:^$.@nan]','',gym) 위와 같은 코드와 선생님이 쓰신 코드의 차이점은 무엇인가요??? gym = re.sub("[\[\d\-nan\]]","",gym)
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
enumerate에 대해서 질문드립니다.
항상 정성가득 담긴 답변에 감사드립니다. 지금까지 해온 데이터분석에 대해서 복습해오면서 plot.bar()와 같이 시각화를 하고 그에 대해 구체적인 숫자를 첨부하는 코딩을 연습하고 있습니다. 구체적인 예를 들어, brand_count = df_cafe["브랜드명"].value_counts() brand_count 와 같이 변수를 정의하고, g = sns.countplot(data = df_cafe, x="브랜드명") for i, val in enumerate(brand_count.index): g.text(x=i, y=brand_count[i], s=brand_count[i]) 와 같이 코드를 입력하면 막대위에 구체적으로 해당 브랜드의 총 개수가 나옵니다. 여기서 반복문의 사용과 인덱스를 서술해주는 enumerate의 기능도 이해했습니다. 문제는 .. g.text 안에 있는 x y s 에 대해 이해가 조금 어렵습니다. x=는 해당 브랜드명이 나오고 그다음 y축은 숫자인데 여기서brand_count의 값은 0 이디야 혹은 1 스타벅스입니다. 이걸로 어떻게 숫자를 계산한건지 이해가 잘되지 않습니다.
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
조건[조건].index 에 대해서 질문드립니다
지난번에 df.drop(index = df.isnull().sum().sort_values(ascending=False) >30000, axis = 1) 로 쓰지 않느 컬럼들을 지울려고 했으나 잘되지 않아서 선생님께 질문드렸습니다. 이번에 알려주신 방법으로 다시 시도햇고 성공적이었습니다. 그런데 여기서 의문점이 생겼습니다. null_count = df.isnull().sum().sort_values(ascending=False) > 30000 df.drop(null_count[null_count].index, axis=1) 여기서 조건[조건].index 이것이 어떤 역활을 하는 지 이해가 조금 어렵습니다. 참/거짓 값으로 구성된 테이블에서 다시 참/거짓을 인덱스로 한다? 그렇다면 왜 이곳에서 True값만 제거 되는 것인지 이해가 안되네요 ㅠㅠㅠ
-
해결됨공공데이터로 파이썬 데이터 분석 시작하기
서브셋에 관해서 질문드립니다.
항상 즐거운 강의 감사합니다. 커피프랜차이즈 입지분석 파트에서 '특정구 데이터만 가져와서 보기' 이부분 질문입니다. pivot = pd.pivot_table(data = df_cafe , index=["시군구명","브랜드명"], values="상호명", aggfunc="count" ) pivot 으로 정의하고 다음 pivot에 있는 특정구를 추출해내기 위해 서브셋을 쓰고 싶은데 pivot[pivot["시군구명"] == ("강남구"|"노원구"|"용산구")]] 위와 같이 작성하니 에러가 나네요 ㅠㅠ 머가 문제인지 알려주시길 부탁드립니다.
-
해결됨공공데이터로 파이썬 데이터 분석 시작하기
drop함수에 대해서 질문드립니다.
안녕하세요. 항상 흥미진진한 강의 감사합니다. 커피매장 입지분석 부분은 강의 이전에 혼자서 이렇게 저렇게 혼자서 해볼려구 하는데 전처리 부분부터 원하는 방식은 머리에 있는데 파이썬으로 구현이 안되서 질문드립니다. df.isnull().sum().sort_values(ascending=False) >30000 위의 명령처럼 df라는 데이터프레임에서 결측치를 가진 열들을 찾고 그것에 대해 내림차순으로 배열하였습니다. 여기서 제가 >30000 과 같이 3만 이상이라고 명령을 넣으니 참과 거짓 boolean값으로 나오는 것을 확인했습니다. 여기서 이 30000건 이상되는 부분을 drop함수를 이용해서 제거하고 싶은데 어떻게 해야할까요??