작성
·
361
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`로 구글링 을하면 정말 많은 자료가 나오기 때문에, 자세한 설명은 생략하도록 하겠습니다.
감사합니다.