• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

안녕하세요, loc에 관한 질문입니다.

21.08.22 14:38 작성 조회수 271

2

안녕하세요, loc에 관한 질문입니다. loc['기업이름']을 하면 잘 찾아지는데... 데이터프레임을 리스트로 만들어서 loc[리스트]로 하면 에러가 나서 어떻게 수정해야 하는지 질문 드립니다 ㅠ

import pandas as pd
import seaborn as sns
import matplotlib as mpl
import matplotlib.pyplot as plt
from tqdm.auto import tqdm
tqdm.pandas()

mpl.rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False

# 

url = "https://finance.naver.com/sise/sise_group_detail.nhn?type=upjong&no=261"
table = pd.read_html(url, encoding="cp949")

raw = table[2]
print(raw.shape)
raw = raw.dropna(how="all").dropna(axis=1, how="all")

raw["종목명_전처리"] = raw["종목명"].str.replace("*", "")
raw["종목명_전처리"] = raw["종목명_전처리"].str.strip()


# raw의 종목명을 index로 만들고, index를 리스트로 만들기
raw = raw.set_index('종목명_전처리')
raw

raw를 부르면 제약업종 데이터 프레임이 나옵니다.

아래는 제가 따로 만들어 놓은 데이터프레임을 리스트로 전환한겁니다. 

test = pd.DataFrame([['이수앱지스', '111', '222'],
            ['메드팩토','333','444'],
            ['부광약품','555','666']], columns = ['종목명', '매출액','영업이익'])

# 종목명을 index로 바꿈
test = test.set_index('종목명')

# index를 리스트로 변환
test_list = test.index.to_list()
test_list

이 상태에서 raw.loc[['메드팩토']]는 되는데 test_list는 어떻게 해도 안 되네요. 어떻게 질문해야 할지 몰라서 인터넷으로도 검색을 못하겠어요 ㅋㅋㅋ큐ㅠㅠ

raw.loc[['메드팩토']]
raw.loc[[test_list]]

답변 2

·

답변을 작성해보세요.

1

Dawn님의 프로필

Dawn

질문자

2021.08.22

헐........ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 이것도 시도해본건데 커널 재부팅 하다가 잘못 건드렸나봐요.. 감사합니다!!

감사합니다 :)

1

안녕하세요.

아래 내용을 질문주신게 맞나요? test_list 는 이미 리스트인데 한 번 더 감싸면 리스트 자체가 특정 명칭이 되어 해당 리스트로 되어 있는 인덱스 명이 없으니 찾지 못하겠죠?

이미 리스트인데 다시 리스트로 감싸주어 값을 가져오지 못한 문제입니다.