본문 바로가기

python24

[Spotfire Q&A] 다중입력을 통한 조건 부여 Spotfire를 활용하여 BI 장표를 만드는 경우에 다중입력을 통해 다수의 값을 입력 받고 이에 따른 조건을 부여할 경우가 있습니다. 저같은 경우 사용자가 다수의 입력을 통한 예를 들면 다수의 상품코드를 입력값으로 넣고 이를 조건으로 부여하여 시각화를 컨트롤하는 경우가 있습니다. 샘플데이트는 다음과 같습니다. 입력 값을 받아서 col1과 일치하는 경우에는 1의 값을 가지는 column을 만들어보겠습니다. 이칼럼 값을 조건으로 활용하게되면 시각화 장표를 해당 조건으로 컨트롤 할 수 있게 됩니다. 먼저 상단 메뉴 Edit - Document Properties로 갑니다. 여기서 Properties에서 New를 눌러 조건이라는 Properties를 추가합니다. 이 Properties는 나중에 조건으로부여할 .. 2021. 8. 2.
[Python] 증권사 데이터 수집 (with CYBOS plus) 일부 증권사에서는 주식 데이터 및 거래를 위해서 API를 제공하고 있습니다. 그 중에 제가 사용하고 있는 증권사는 대신증권이며 여기서 제공하는 API, CYBOS Plus를 사용하고 있습니다. 대신증권을 이용하게 된 이유는 여러가지가 있겠지만 CYBOS Plus API의 자료실에서 유용한 자료들을 제공하고 있기 때문입니다. 특히나 프로그램 별 API 연동 과제를 올려주거든요. 이 예제들을 활용하면 그래도 쉽게 API를 활용하여 데이터 수집 및 매매를 해볼 수 있는 프로그램을 제작할 수 있습니다. 참고로 CYBOS Plus API를 이용하기 위해서는 다음과 같은 제약/환경이 필요합니다. 대신증권 계좌 증권사 공동인증서 크레온 HTS/PLUS설치 python 32bit 환경 구축에 대해서는 다음기회에 한번 .. 2021. 3. 23.
[Python] Google Colaboratory 진짜 요즘 세상이 좋다는걸 느끼는데 그 중에 하나가 "Google Colaboratory" 입니다. 어렴풋이 생각은 했었지만 이걸 무료로 쓸 수 있다는 점에서 구글의 위대함을 다시 느끼고 있습니다. 공식 페이지에 설명에 따르면 Colaboratory는 브라우저에서 Python을 작성하고 실행할 수 있다고 설명하고 있습니다. 실제 실행화면을 보면 Python 사용자라면 익히 아는 노트북 환경을 제공하고 있습니다. 당연히 마크다운 문서도 작성이 가능하며 Python 스크립트를 실행해볼 수 도 있습니다. 필요하다면 데이터를 Google driver에 업로드하여 분석도 가능하겠죠. 무엇보다도 장점은 공식 페이지에 나와있는 것처럼 구성이 필요하지 않음 : 파이선 버전관리, 패키지 설치 및 버전관리가 필요하지 않습.. 2021. 3. 11.
[Spotfire & Python] IronPython의 Script Parameters Spotfire 에서는 python으로 차트나 표의 속성을 컨트롤할 수 있습니다. 이때 어떤 차트를 적용대상으로 선택할 것인지 지정이 필요한데 스크립트에서 해당 지정대상을 찾아서 적용하는 방법이 있고 함수의 인자를 넣듯이 변수만 지정하여 사용할 때마다 지정할 수 도 있습니다. 위의 이미지에서 보는 것처럼 Script parameters의 란에 "viz"라는 Parameter가 정의되어있습니다. 이 python script를 사용할 때 저 parameter를 지정하여 스크립트를 실행할 수 있는데요. 일반적으로 알고 있는 함수의 개념과 비슷합니다. 잘만들어 놓으면 하나의 Spotfire DXP 내에서 재사용이 가능한 것이지요. # Scater plot의 marker 사이즈를 키우는 스크립트 from Spot.. 2021. 1. 14.
[Spotfire & Python] Dxp 파일 안의 선택한 Data Table 합치기 어쩌다 보니 비슷한 내용의 글이 연속해서 올라갑니다. 연작.. 이 되어버렸네요. bongury.tistory.com/457 [TIBCO Spotfire] Python 활용 예제 : 현재 Dxp 파일 안의 Data Table List 가져오기 안녕하세요 불탄오징어입니다. 위의 질문이 있어서 간단하게 포스팅을 해봤습니다. 알고보면 그렇게 어렵진 않아서 댓글로 답을 달려다가 댓글 가독성도 떨어지고 샘플 파일이 있으면 이해하 bongury.tistory.com bongury.tistory.com/459 [TIBCO Spotfire] Python 활용 : 현재 Dxp 파일 안의 Data Table 모두 합치기 Spotfire에서 기본 기능으로 동일한 칼럼을 가진 데이터 테이블을 하나의 테이블로 합칠 수는 있습니다.. 2020. 11. 15.
[TIBCO Spotfire] Python 활용 : 현재 Dxp 파일 안의 Data Table 모두 합치기 Spotfire에서 기본 기능으로 동일한 칼럼을 가진 데이터 테이블을 하나의 테이블로 합칠 수는 있습니다. 그런데 만약 합쳐야 할 테이블이 수십개라면 그런 작업마저도 힘들 수 있죠. 아래의 예제를 이용해서 간단하게 클릭한번으로 여러개의 테이블을 합칠 수 있습니다. (Client Only) Sample Data 먼저 샘플테이블을 보면 Data Table 1~3까지 3개의 Data Table이 있습니다. 예제 소스에서 보시면 알겠지만 "Data Table"이라는 문자열이 포함된 Data Table만 선택하여 합치도록 작성했습니다. Python소스 from Spotfire.Dxp.Data import * from Spotfire.Dxp.Data.Import import DataTableDataSource de.. 2020. 11. 4.
[TIBCO Spotfire] Python 활용 예제 : 현재 Dxp 파일 안의 Data Table List 가져오기 안녕하세요 불탄오징어입니다. 위의 질문이 있어서 간단하게 포스팅을 해봤습니다. 알고보면 그렇게 어렵진 않아서 댓글로 답을 달려다가 댓글 가독성도 떨어지고 샘플 파일이 있으면 이해하시는데 도움이 될 것 같아서 아예 포스트를 작성했습니다. 무엇보다도 어떤 목적으로 사용하실지가 궁금하네요 :) Sample 파일 참조해주세요. 작성 버전은 TIBCO Spotfire V6.5 입니다. 소스는 다음과 같습니다. 소스에서 보면 Document.Data.Tables로 모든 Data Table을 가져오고 Name 객채로 각 테이블의 테이블 명을 추출합니다. # pkg import import Spotfire.Dxp.Data.DataTable # 현재 dxp 파일에 Load 된 모든 Data Table의 리스트를 가져옴 .. 2020. 10. 27.
[Python] 일원배치분산분석 (1-Way ANOVA) ANOVA 하면 학부 시절 실험계획법 시간 때 집중적으로 들었던 기억이 있습니다. 물론 수리통계학 시간이나 기초 통계학 시간 때도 훝고 지나갔던 기억이 있지만 실상 정확하게 용도나 활용에 대해 사용해본 것은 한참 뒤였네요. 그 쯤에서야 정확하게 이해를 했던 것 같습니다. 분산분석은 말 그대로 분산/변동을 분석합니다. 간단하게 집단간 변동(분산)과 집단내 변동(분산)의 비는 F분포를 따르기 때문에 이를 이용하여 가설 검정을 합니다. 이때 독립변인, 종속변인의 수에 따라서 일원배치분산분석, 이원배치 분산분석, 다원변량분산분석 등으로 구분하여 부릅니다. 일원배치분산분석(1-Way ANOVA) 일원배치분산분석은 종속변인이 1개, 독립변인도 하나인 경우입니다. 하나의 독립변인으로 구분되는 집단간 비교가 되므로 통.. 2020. 10. 13.
[TIBCO Spotfire] Python 활용 예제 - 특정 입력값이 일치하는 행의 다른 칼럼값 가져오기 8. Spotfire & Python 연동 활용 예제 8-1. 특정입력값이 일치하는 행의 다른 칼럼 값 가져오기 Spotfire에서는 특정 값을 참조하여 다른 값일 가져올 수 있도록 Join을 활용하거나 Relation을 활용하여 Drill-down을 하는 등 다양한 방법을 제공하고 있습니다. 그리고 Spotfire를 활용하여 데이터 분석하는 경우에는 데이터를 보고 특정값을 조건으로 다른 데이터를 보고자 할 경우 Filter를 활용할 수도 있습니다. 하지만 BI 성 장표를 Spotfire로 만들 경우 이런 기능들을 활용할 수가 없는데 예를 들면 코드와 코드값을 가진 테이블을 만들어 두고 특정 코드를 조회하거나 특정 코드명을 포함하는 데이터를 찾은 후 해당하는 행의 다른 값을 가져와서 조건으로 활용할 경우.. 2020. 9. 17.
[Python] 업무 자동화 - 2 : Python으로 Naver 이메일 보내기 전번 포스트에서는 간단하게 Python으로 메일을 보내는 예제를 진행했습니다. 이번에는 간단한 데이터를 표로 변환하여 메일을 보내봅니다. Python 코드 작성 # -*- coding:utf-8 -*- import pandas as pd import pyodbc import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText # Database 접속 conn = pyodbc.connect("DSN=[DSN]; uid=[데이터베이스접속계정]; pwd=[데이터베이스접속비번]") # 데이터를 가져올 쿼리 query = "SELECT DT, CLOSE_PRC, LOW_PRC FROM " \ "(" \.. 2020. 7. 29.