데이터 프레임 리스트로 변경하는 방법

조회수 537회

인스타그램 해시태그 크롤링

  • 해당 데이터를 가지고 단어별 빈도를 확인하고 싶음

  • 현재 데이터가 데이터프레임으로 구성되어 있음

  • 각각의 행에 [오늘, 오늘의 날씨, 배고파] 형식으로 [ ] 안에 해시태그 데이터가 들어있음

  • 크롤링한 전체 데이터에서 단어별 빈도를 count를 하기 위해서는 리스트로 변환이 필요함

파이썬 코드

import numpy as np  
instagram_tags=list(np.array(data['clean_tag'].tolist()))  

list로 변환할 경우, 각각의 행의 값을 하나의 리스트로 인식

코드 실행 결과

['[]',
 '[]',
 "['210517', '클라이밍', '볼더링', '실내암벽', '클린이', '암벽등반', 'climbing', 'bouldering', 'indoorclimbing', '오늘의운동', '안클', 'weekendworkout', '클린이', '평일운동', '주말운동', '취미생활', '돌무리', 'DOLMOORI', '클라이밍파크', '클라이밍파크한티점']",
 "['서울숲클라이밍']",
 '[]',
 "['20210519B', '어거스트클라이밍', '어거스트클라이밍짐', '가디역', '5번출구', 'gramicci', 'patagonia', 'redpointclimbingcrew', 'redpoint', 'climbing', 'bouldering', 'sportsclimbing', 'gate1', 'scarpa', 'instinct', 'fiveten', 'hiangle', '167592836O79']"]

위와 같이 데이터가 묶임

따옴표와 [ ] 없이 어떻게 하나로 묶는 방법이 없을까요?

1 답변

  • literal_eval 을 사용해 보세요.

    Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license()" for more information.
    >>> l = ['[]',
     '[]',
     "['210517', '클라이밍', '볼더링', '실내암벽', '클린이', '암벽등반', 'climbing', 'bouldering', 'indoorclimbing', '오늘의운동', '안클', 'weekendworkout', '클린이', '평일운동', '주말운동', '취미생활', '돌무리', 'DOLMOORI', '클라이밍파크', '클라이밍파크한티점']",
     "['서울숲클라이밍']",
     '[]',
     "['20210519B', '어거스트클라이밍', '어거스트클라이밍짐', '가디역', '5번출구', 'gramicci', 'patagonia', 'redpointclimbingcrew', 'redpoint', 'climbing', 'bouldering', 'sportsclimbing', 'gate1', 'scarpa', 'instinct', 'fiveten', 'hiangle', '167592836O79']"]
    >>> from ast import literal_eval
    >>> l = [ literal_eval(e) for e in l ]
    >>> l
    [[], [], ['210517', '클라이밍', '볼더링', '실내암벽', '클린이', '암벽등반', 'climbing', 'bouldering', 'indoorclimbing', '오늘의운동', '안클', 'weekendworkout', '클린이', '평일운동', '주말운동', '취미생활', '돌무리', 'DOLMOORI', '클라이밍파크', '클라이밍파크한티점'], ['서울숲클라이밍'], [], ['20210519B', '어거스트클라이밍', '어거스트클라이밍짐', '가디역', '5번출구', 'gramicci', 'patagonia', 'redpointclimbingcrew', 'redpoint', 'climbing', 'bouldering', 'sportsclimbing', 'gate1', 'scarpa', 'instinct', 'fiveten', 'hiangle', '167592836O79']]
    >>> from pprint import pprint
    >>> pprint(l)
    [[],
     [],
     ['210517',
      '클라이밍',
      '볼더링',
      '실내암벽',
      '클린이',
      '암벽등반',
      'climbing',
      'bouldering',
      'indoorclimbing',
      '오늘의운동',
      '안클',
      'weekendworkout',
      '클린이',
      '평일운동',
      '주말운동',
      '취미생활',
      '돌무리',
      'DOLMOORI',
      '클라이밍파크',
      '클라이밍파크한티점'],
     ['서울숲클라이밍'],
     [],
     ['20210519B',
      '어거스트클라이밍',
      '어거스트클라이밍짐',
      '가디역',
      '5번출구',
      'gramicci',
      'patagonia',
      'redpointclimbingcrew',
      'redpoint',
      'climbing',
      'bouldering',
      'sportsclimbing',
      'gate1',
      'scarpa',
      'instinct',
      'fiveten',
      'hiangle',
      '167592836O79']]
    >>> 
    
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)