-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
concat tolist 사용 오류 문의
21.08.12 13:56 작성 조회수 156
1
안녕하세요
5.1 업종테마주수집 과정을 좀 변형해서 네이버금융의 "시가총액" 메뉴의
종목을 여러페이지 크롤링했습니다. 첫페이지 50개 만 가져오면 괜찮은데
이후 2번째 페이지부터 추가해서 가져오면 아래 코드 실행시 오류가 납니다
df_item_info = pd.concat(result.tolist())
TypeError: first argument must be an iterable of pandas objects, you passed an object of type "Series"
페이지 크롤링하는 부분은 아래와 같습니다
raw = pd.DataFrame()
for page in range(1,3):
url = f"https://finance.naver.com/sise/sise_market_sum.nhn?sosok=0&page={page}"
table = pd.read_html(url, encoding="cp949")
oneraw = table[1]
oneraw = oneraw.dropna(how="all").dropna(axis=1, how="all")
raw = raw.append(oneraw)
time.sleep(1)
머가 문제인지 잘 모르겠습니다
확인 부탁드립니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
답변을 작성해보세요.
0
박조은
지식공유자2021.08.12
안녕하세요.
아래와 같이 변경해 보세요.
그리고 코드를 올려주실 때 줄바꿈과 인덴트를 맞춰 질문해 주시고
스크린샷도 함께 올려주시면 답변에 도움이 됩니다.
append 는 파이썬 리스트에 사용하는 함수입니다.
그리고 append 결과는 변수에 다시 할당하지 않아도 됩니다.
raw = []
for page in range(1,3):
url = f"https://finance.naver.com/sise/sise_market_sum.nhn?sosok=0&page={page}"
table = pd.read_html(url, encoding="cp949")
oneraw = table[1]
oneraw = oneraw.dropna(how="all").dropna(axis=1, how="all")
raw.append(oneraw)
time.sleep(1)
박조은
지식공유자2021.08.12
raw 에 들어가 있는 값은 리스트 이기 때문에 shape를 사용할 수 없습니다.
shape는 판다스의 데이터프레임과 시리즈에 사용하는 기능이에요.
길이를 알고 싶다면 len(raw)를 사용하세요.
답변 1