파이썬(Python)192 파이썬 - 문장에서 특정 문자 포함 여부(포함개수) 확인 방법 파이썬에서는 문장에서 특정 문자가 포함되었는지 여부를 쉽게 찾을 수 있습니다. 파이참에서 임의로 문장을 만들어서 'string'이라는 변수에 저장해 봅니다. 여기서 '파이썬'이라는 단어가 포함되었는지 확인해 봅시다. '파이썬'이라는 단어를 'word'라는 변수에 저장합니다. if문을 사용하여 위의 그림과 같이 코딩을 합니다. "찾고자 하는 글자 in 문장" ==>> 이렇게 하면 특정글자 포함 여부를 확인할 수 있습니다. 제대로 결과가 나왔네요. 그럼 이번에는 찾고자 하는 글자가 몇개가 포함되었는지 확인하는 코드를 작성해 보겠습니다. 위의 그림과 같이 코드를 작성해 봅니다. "문장.count(찾고자 하는 글자)" ==>> 이런 형식으로 작성하면 됩니다. 결과가 제대로 출력 된 것을 확인할 수 있습니다. 2021. 6. 20. python pandas - 판다스 기본(컬럼 순서 바꾸기) 데이터프레임에서 컬럼 순서를 바꾸는 방법입니다. 필요 라이이브러리를 불러와서 데이터프레임을 임의로 만들었습니다. 3 X 4 형식의 데이터프레임을 만들었습니다. "df[[리스트 형태의 컬럼명]] " 형태로 컬럼의 순서를 바꿀 수 있습니다. 컬럼의 순서가 바뀐것을 확인할 수 있습니다. 다시 원래대로 순서로 바꿔보겠습니다. 다시 순서가 원래대로 바뀌었습니다. 2021. 6. 7. python pandas - 판다스 기본(데이터프레임을 만드는 3가지 방법 ) 판다스는 여러번 봐도 항상 헷갈리네요. 특히, 기본적인 부분에서 많이 헷갈려서 구글링이 없으면 기본적인 코드도 작성할 수가 없네요. 이번 포스트는 가장 기본적인 데이이터프레임을 만드는 3가지 방법을 기록해 보겠습니다. 데이터프레임은 딕셔너리로 데이터프레임을 생성 리스트로 데이터프레임을 생성 리스트와 딕셔너리로 데이터프레임을 생성 이렇게 3가지 방법으로 생성할 수 있습니다.(아마 더 있겠지만, 저는 잘 모르겠습니다.) 우선 첫번째 방법(딕셔너리)으로 데이터프레임을 만들어 보겠습니다. 판다스 라이브러리를 불러옵니다. pd.DataFrame 함수로 {'col' : [컬럼에 있는 데이터 리스트]} 이런 형식으로 만듭니다. index=[리스트] 형태로 넣어주고, 설정을 안해도 자동으로 순차적으로 인덱스가 숫자로 .. 2021. 6. 2. python pandas - 판다스 기본(컬럼을 인덱스로, 인덱스를 컬럼으로 변경하는 방법 ) 제 기억력이 워낙 나쁜편이라 코딩에는 적합하지 않은 것 같습니다. 다행히 요즘 기술이 발전하여 기억을 저장할 수 있는 방법이 많네요. 코딩을 한 후 몰랐거나 다음에 필요할 것 같은 부분을 블로그에 저장하니 생산성과 효율이 많이 향상되는 것 같아 너무나 좋습니다. 판다스에서는 기본적인 기능들이 잘 기억이 안 나더라구요. 그 중에 인덱스를 컬럼으로 컬럼을 인덱스로 바꾸는 간단한 방법을 기록하도록 하겠습니다. 컬럼을 인덱스로 만드는 방법입니다. set_index('col_name') 이렇게 사용하면 됩니다. 만약 mutil index(다중 인덱스)를 만들고 싶으면, set_index(['col1', 'col2']) 이렇게 사용하면 됩니다. 이번에는 인덱스를 컬럼으로 만드는 방법입니다. df['col'] = d.. 2021. 6. 1. python pandas - 판다스 기본(특정 문자(숫자) 제외한 데이터만 가져오기 ) 판다스 데이터프레임에서 특정 문자/숫자를 제외한 데이터만 가져와야 할때가 있습니다. sort를 해야 하거나, 컬럼간에 계산을 해야 할때 문자가 나오면 에러가 나옵니다. N/A나 Null 데이타는 dropna(), 또는 dorpnull() 함수를 사용하면 되는데, 특정 문자나 숫자는 다른 방법으로 제외하고 데이터프레임을 가져올 수 있습니다. df = df[df['col'] != 0] 이런식으로 사용하면 됩니다. 생각해보면 간단한데, 막상 코딩을 하다보면 어떻게 해야할지 모를 경우가 많더라구요. 2021. 5. 31. python pandas - 판다스 기본(to_numeric 에러 해결방법) 데이터프레임에서 작업을 하다보면 문자로 인식된 숫자데이터를 숫자로 바꿔야 할때가 있습니다. 이때 'to_numeric' 함수를 사용하면 되는데, 실제 문자가 데이터에 포함되어 있으면 에러가 발생합니다. 이때는 옵션을 errors = 'coerce'로 하면, 에러가 발생한 데이터를 N/A로 변경됩니다. 위와 같은 식으로 사용하면 됩니다. 2021. 5. 30. (업데이트) 파이썬으로 마법의 공식 구현하기 4 - 전체 코드 (파이썬 코드파일 공유) 지난 포스트까지 전체 종목코드와 PER을 가져오고, 에프엔가이드 사이트에서 ROA를 크롤링해서 데이터프레임을 만들고 마법의 공식을 구현하는 코드를 작성해 보았습니다.이전 포스트는 아래링크를 클릭하세요 ↓2021.05.26 - [취미로 하는 파이썬/Python Project] - 파이썬으로 마법의 공식 구현하기 1 - 종목 데이터, PER 가져오기 파이썬으로 마법의 공식 구현하기 1 - 종목 데이터, PER 가져오기조엘그린블란트의 마법의 공식은 상당히 유명합니다. PER과 ROA를 이용해서 종목을 골라내는 방법이죠.(엄밀히 말하면 실제 마법의 공식과 약간 다릅니다.) 우리나라에서는 맞지 않다고 하시는 dotsnlines.tistory.com2021.05.27 - [취미로 하는 파이썬/Python Proje.. 2021. 5. 29. 파이썬으로 마법의 공식 구현하기 3 - ROA, PER의 순위를 매겨서 최종순위 정렬하기 지난번 포스트까지 전 종목 코드와 PER을 가져오는 함수와 코드를 입력하면 ROA를 가져올 수 있는 함수를 만들었습니다. 지난번 포스트는 아래 링크를 참고하세요. ↓ 2021.05.27 - [파이썬/Python Project] - 파이썬으로 마법의 공식 구현하기 2 - ROE 가져오기 이번에는 이미 만들어진 함수를 가지고 데이터프레임을 만들고 각각 순위를 매겨서 최종 순위를 매기는 코드를 만들어 보겠습니다. # krx 데이터 '종목코드', '종목명', 'PER' 가져오기 codes = get_ticker_per(date) codes['종목코드'] = codes.index 종목코드와 PER을 가져와서 codes라는 변수의 데이터프레임에 담습니다. 종목코드는 인덱스로 되어있기 때문에 임의로 종목코드의 컬럼을.. 2021. 5. 28. 파이썬으로 마법의 공식 구현하기 2 - ROA, ROE 가져오기 지난번 포스트에 이어서 이번에는 ROA를 웹에서 가져오는 방법을 기록하겠습니다. 지난번 포스트는 아래 링크를 참고하세요 ↓ 2021.05.26 - [파이썬/Python Project] - 파이썬으로 마법의 공식 구현하기 1 - 종목 데이터, PER 가져오기 requests 모듈을 이용해서 에프엔가이드에서 제공하는 ROA를 가져오겠습니다. code 명과 가져올 시점(해당 분기 또는 사업보고시점)을 파라미터로 넣어주면 ROA를 가져오는 과정입니다. ROA를 가져오는 김에 ROE도 함께 불러오도록 하겠습니다. url = 'https://comp.fnguide.com/SVO2/ASP/SVD_FinanceRatio.asp?pGB=1&gicode=' + code + \ '&cID=&MenuYn=Y&ReportGB=.. 2021. 5. 27. 파이썬으로 마법의 공식 구현하기 1 - 종목 데이터, PER 가져오기 조엘그린블란트의 마법의 공식은 상당히 유명합니다. PER과 ROA를 이용해서 종목을 골라내는 방법이죠.(엄밀히 말하면 실제 마법의 공식과 약간 다릅니다.) 우리나라에서는 맞지 않다고 하시는 분이 많은데, 예전에 엑셀 매크로로 10년치 데이터를 백테스트 해 보니 평균 수익률이 꽤 높더라구요. 저는 마법의 공식으로 실제로 투자를 해서 23%, 15% 수익을 4개월만에 달성한 적도 있습니다. 코로나 폭락장 이전부터 폭락장이 이어지는 내내 마법의 공식으로 투자를 했는데, 투자 수익률이 나쁘지 않았습니다. 더구나 오래 보유하고 있으면 수익률이 많이 상승하는 경험도 있었습니다. 좀 더 마법의 공식을 쉽게 하기 위해서 파이썬으로 구현을 했었습니다. 본업이 바빠서 한동한 투자에 손을 놓고 지내다가 다시 마법의 공식을 .. 2021. 5. 26. python pandas - 판다스 기본(시리즈, 데이터프레임) 파이썬에서 판다스를 이용하면 활용할 곳이 많이 있습니다. 특히나 데이터분석에 특화되어 있으니, 데이터사이언스 분야에 관심을 가지고 있으시면 배우면 좋을 것 같습니다. 저는 개인적으로 기업의 재무데이터를 분석하기 위해서 공부하고 있는데, 머리가 나빠서 계속 잊어버리네요. 그래서 기록을 남기려고 합니다.(10min pandas를 참고하였습니다.) 우선 판다스는 파이참이나 주피터노트북 둘다 사용이 가능한데, 하나씩 하면서 확인해 보기에는 주피터노트북이 더 좋더라구요. pandas, numpy 라이브러리를 불러옵니다. 넘파이는 Array(배열)을 만들고, 여러 계산 기능때문에 사용하는 것 같아요.(아직 정확히 잘 모릅니다.) 우선 시리즈를 만들어 보겠습니다. 시리즈는 데이터가 한 줄인 것을 말합니다. 결과는 이.. 2021. 5. 25. 파이참에서 같은 글자(문자) 동시에 한번에 바꾸기 파이참에서 제공하는 기능중에 편리한 기능이 많은 것 같네요. 그 중에서 같은 글자(문자)를 동시에 수정할 수 있는 기능은 정말 유용한 것 같습니다. 이번 포스트에서는 파이참의 유용한 기능을 소개해 드리겠습니다. 시작하기 전에 파이썬으로 실행파일(exe)을 만들어 보셨나요? 실행파일로 만들면 사용하기 편하고, 다른사람과 공유 할 수도 있어요. 쉽게 파이썬 실팽파일(exe) 파일을 만드는 방법이 있습니다. 아래 포스트를 참고하세요. https://dotsnlines.tistory.com/520 파이썬 실행파일(exe) 쉽게 만들기https://cafe.naver.com/111coding/44?tc=shared_link 파이썬을 10분만에 배우는 방법 프로그램밍 언어를 공부하는 것은 외국어를 배우는 것과.. 2021. 5. 20. 파이썬을 이용하여 10년치 재무제표 가져오기 - 5. 재무비율 추가하기 2021.05.16 - [분류 전체보기] - 파이썬을 이용하여 10년치 재무제표 가져오기 - 4. 코드 개선하기 파이썬을 이용하여 10년치 재무제표 가져오기 - 4. 코드 개선하기 지난번 포스트까지 DART(전자공시)에서 10년치 제무재표 데이터를 가져오는 파이썬 코드를 작성했습니다. 2021.05.15 - [파이썬/Python Project] - 파이썬을 이용하여 10년치 재무제표 가져오기 - 3. 손익계 dotsnlines.tistory.com 지난번 포스트에서는 재무제표를 좀 개선하는 내용을 다루었습니다. 이번 포스트는 가져온 재무제표 데이터를 이용해서 재무비율을 추가해 보도록 하겠습니다. 재무비율 추이를 보면, 해당 기업의 상황을 이해하는데 도움이 됩니다. 완전 코딩과 관련이 없는 사람이 이런걸 .. 2021. 5. 17. 파이썬을 이용하여 10년치 재무제표 가져오기 - 4. 코드 개선하기 지난번 포스트까지 DART(전자공시)에서 10년치 제무재표 데이터를 가져오는 파이썬 코드를 작성했습니다. 2021.05.15 - [파이썬/Python Project] - 파이썬을 이용하여 10년치 재무제표 가져오기 - 3. 손익계산서, 현금흐름표 가져오기 파이썬을 이용하여 10년치 재무제표 가져오기 - 3. 손익계산서, 현금흐름표 가져오기 지난 포스트에 이어서 손익계산서와 현금흐름까지 10년치 데이터를 가져와 보도록 하겠습니다. 2021.05.14 - [파이썬/Python Project] - 파이썬을 이용하여 10년치 재무제표 가져오기 - 2. 재무상태표 가 dotsnlines.tistory.com 그런데, 문제가 생겼습니다. DART에서 받은 데이터가 회사별로 양식이 다 다르네요... 삼성전자로 코드를.. 2021. 5. 16. 파이썬을 이용하여 10년치 재무제표 가져오기 - 3. 손익계산서, 현금흐름표 가져오기 지난 포스트에 이어서 손익계산서와 현금흐름까지 10년치 데이터를 가져와 보도록 하겠습니다. 2021.05.14 - [파이썬/Python Project] - 파이썬을 이용하여 10년치 재무제표 가져오기 - 2. 재무상태표 가져오기 파이썬을 이용하여 10년치 재무제표 가져오기 - 2. 재무상태표 가져오기 지난 포스트에서 DART(전자공시시스템)의 API를 통해 10년치 재무제표 데이터를 가지고 왔습니다. 가져온 데이터는 항목이 너무 많아서 분석이 어렵습니다. 분석을 할 수 있도록 필요한 항목만 빼 dotsnlines.tistory.com 손액계산서는 시트명이 'Data_is'로 되어 있네요. 변수로 저장합니다. 가져올 항목을 'is_items'라는 List에 저장합니다. 각 항목별 데이터를 위의 코드와 같이.. 2021. 5. 15. 파이썬을 이용하여 10년치 재무제표 가져오기 - 2. 재무상태표 가져오기 지난 포스트에서 DART(전자공시시스템)의 API를 통해 10년치 재무제표 데이터를 가지고 왔습니다. 2021.05.13 - [파이썬/Python Project] - 파이썬을 이용하여 10년치 재무제표 가져오기 - 1. Dart(전자공시)에서 10년 재무제표 데이터 가져오기 파이썬을 이용하여 10년치 재무제표 가져오기 - 1. Dart(전자공시)에서 10년 재무제표 데이터 가져 주식투자를 하다보면 재무제표를 확인해야 하는 경우가 있습니다. 증권사에서 제공하는 데이터도 유용하지만, 좀 더 깊이있게 기업을 분석하기 위해서는 10년 정도의 데이터를 확인하는 것이 dotsnlines.tistory.com 가져온 데이터는 항목이 너무 많아서 분석이 어렵습니다. 분석을 할 수 있도록 필요한 항목만 빼내서 보기좋게 .. 2021. 5. 14. 파이썬을 이용하여 10년치 재무제표 가져오기 - 1. Dart(전자공시)에서 10년 재무제표 데이터 가져오기 주식투자를 하다보면 재무제표를 확인해야 하는 경우가 있습니다. 증권사에서 제공하는 데이터도 유용하지만, 좀 더 깊이있게 기업을 분석하기 위해서는 10년 정도의 데이터를 확인하는 것이 좋은것 같습니다. 유료로 제공하는 사이트도 있다고 하는데, 제가 워낙 돈 쓰는걸 싫어하는 성격이라 파이썬으로 만들어 보려구 합니다. 마침 Dart에서 API를 제공해 준다는 사실을 알았습니다. 그리고 'dart_fss'라는 모듈을 누가 친절히 만들어 주셨네요. 요롷게 이용하시면 됩니다. 아래 사이트를 참고하시면 좀 더 많은 정보를 찾을 수 있습니다. pypi.org/project/dart-fss/ dart-fss Web-scraping http://dart.fss.or.kr pypi.org 다음 포스트부터는 DART(전자공시.. 2021. 5. 13. Python(파이썬) openpyxl - 엑셀 스타일 지우기(주의) 다른 사람의 엑셀파일에다 작업을 하다보면 필요없는 스타일이 만들어지게 됩니다. 이런 지저분한 스타일 때문에 엑셀파일이 느려지거나 에러가 발생하는 경우도 있습니다. 사용자가 지정한 스타일을 파이썬을 사용하여 자동으로 삭제해 보도록 하겠습니다. 스타일을 삭제하기 전 파일 모습은 아래와 같습니다. 스타일을 지우기 위한 파이썬 코드는 아래와 같습니다. 실행을 시켜보니 큰일이 났네요....ㅠㅠ 이렇게 되어 버렸어요....ㅠㅠ 스티일은 지워졌는데, 모든 적용된 양식들이 싹 다 지워졌네요.... 이렇게 되면 못쓰겠네요....ㅠㅠ 구글링을 열심히 해서 만들었는데, 비전공자의 능력은 여기까지인가 보네요.... 혹시 스타일을 지우시고 싶은 분은 아래에 VBA 로 만든 코드 참고하시기 바랍니다. 2020.11.28 - [I.. 2021. 5. 6. Python(파이썬) openpyxl - 엑셀 글자정렬(Text Align) 파이썬의 openpyxl 모듈을 사용하여 엑셀에서 글자를 정렬해 보도록 하겠습니다. openpyxl 의 Workbook을 사용해서 새로운 파일을 만드시거나, load_workbook을 사용해서 기존 파일을 이용합니다. openpyxl.styles 에서 Alignment 를 import 합니다. 저는 새로운 워크시트를 만들어서 'wb'라는 변수에 저장하고, wb 의 활성화 된 시트를 'ws'로 저장하겠습니다. 글자정렬이 제대로 잘 되었는지 쉽게 확인해 보기 위해 행과 열너비를 크게 했습니다. 방법은 위와 같이 하시면 됩니다. 정렬을 설정할 셀의 alignment 속성에 Alignment(horizonal='ceneter', vertical='bottom') 이런식으로 설정해 주면 됩니다. horizonta.. 2021. 5. 5. Python(파이썬) openpyxl - 글자(Font) 크기, 색깔, 스타일 지정하는 방 openpyxl 을 이용하여 엑셀의 폰트를 설정하는 방법입니다. 우선 미리 만든 엑셀파일을 로드해서 두번째 시트를 ws 변수에 담겠습니다. openpyxl.styles에서 Font 를 가져와서 폰트 설정에 사용하도록 하겠습니다. A1 셀에 'Font Test'라고 글자를 입력하겠습니다. 글꼴과 글자 색깔을 Font 함수를 사용해서 설정한 후 'f'라는 변수에 담습니다. 그리고 해당셀의 폰트 속성에 'f' 변수를 넣어주면 됩니다. 폰트가 지정된 것을 확인할 수 있습니다. 샐깔은 아래와 같이 Color 관련 사이트를 참고하시면 됩니다. www.w3schools.com/colors/colors_picker.asp HTML Color Picker Selected Color: Black Text Shadow Wh.. 2021. 5. 2. 이전 1 ··· 4 5 6 7 8 9 10 다음