인프런 커뮤니티 질문&답변

Dawn님의 프로필 이미지
Dawn

작성한 질문수

파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기

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

작성

·

422

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
질문자

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

박조은님의 프로필 이미지
박조은
지식공유자

감사합니다 :)

1

박조은님의 프로필 이미지
박조은
지식공유자

안녕하세요.

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

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

Dawn님의 프로필 이미지
Dawn

작성한 질문수

질문하기