• 카테고리

    질문 & 답변
  • 세부 분야

    금융 · 재테크

  • 해결 여부

    미해결

dataframe의 특정 컬럼에서 특정 문자 or 숫자가 포함된 열만 추출할 수 있을까요?

22.07.21 19:53 작성 조회수 216

0

  rank code name marcap marcap_pct year name_en sector market
0 1 015760 한국전력 18.99419 0.134566 1995-12-01 KEPCO 전기가스 KOSPI
1 2 005930 삼성전자 7.665979 0.05431 1995-12-01 Samsung Electronics 전기전자 KOSPI

 

위와 같은 Dataframe에서 code가 0이 아닌 다른 숫자로 끝나는 행만 뽑아서 볼 방법이 있을까요? 보통주와 우선주,ELW등을 구분할 때 앞,뒤 코드가 다른 경우가 있는데 방법이 있을 지 궁금합니다. 저 같은 경우는 별다른 방법이 생각이 안나서 Loop를 돌릴 생각으로 다음과 같이 코딩했는데 오류가 나더라구요. 혹시 좋은 방법이 있는지 문의드립니다. 감사합니다.

 

df = pd.read_csv("https://goo.gl/ujleWV", dtype={'code':str}) code=list(df_2015['code']) for i,j in enumerate(code): if j[-1] != "0": df.drop(df.index[i],inplace=True df.head()

 

 

답변 2

·

답변을 작성해보세요.

0

강사님 정말 감사합니다. 정규표현식을 공부해야되나 고민하고 있었는데 굉장히 쉬운 방법을 알려주시네요^^이번 강의에서 덕분에 판다스 등 데이터분석에 대해 다양하게 배웠으니 다음 강의로 더 업데이트 해야겠습니다. 친절한 답변 정말 감사드립니다^^

0

안녕하세요! 좋은 질문이네요 ㅎ

제가 수업에서 언급은 자주 했지만, 따로 깊게 다루지는 않았던 apply()가 쓸 상황이네요 :)

 

df["code"].apply(lambda x: x[-1] == '0') 으로 하면 boolean series가 나오게 됩니다.

 

apply는 `pandas apply`로 구글링 을하면 정말 많은 자료가 나오기 때문에, 자세한 설명은 생략하도록 하겠습니다.

감사합니다.