@하이드밀러 , 설정이 변경되고 내장 편집기도 있으므로 JMP 18에 대해 이를 업데이트하고 싶을 수도 있습니다.
@하이드밀러 업데이트하는 데 도움을 드릴 수 있습니다.
@샘가드너 @Chris_Kirchberg @kemal_oplus Kemal은 단기적인 필요를 위해 출판을 도와달라고 요청했습니다.JMP 18에 Python 예제가 필요하다는 점에 동의하며 이에 대한 도움을 주셔서 감사합니다.
이는 JMP 18의 새로운 Python 통합을 설명하는 데 사용할 수 있는 스크립트 모음입니다. 고객 프레젠테이션에 적합했던 다른 예를 자유롭게 다시 게시해 주세요. Kemal Oflus, Sam Gardner 및 Paul Nelson을 포함하여 이러한 사례 개발에 도움을 준 모든 분들께 감사드립니다.
JMP 18의 새로운 Python 통합을 사용하여 R과 통합하는 예는 다음 동반 게시물을 참조하세요.
C80.1 JMP Python 사용 사례 - R과 통합하는 예
************************************************** ************************************************
대화 상자 및 Regression.py
- 이는 Python 통합을 사용하여 현재 JMP가 수행하지 않는 MLP 또는 다층 퍼셉트론 모델 분석을 수행하는 예입니다.
- numpy는 배열을 만드는 데 사용됩니다.
- pandas는 데이터 프레임을 만드는 데 사용됩니다.
- sklearn은 선형 회귀 및 다층 퍼셉트론에 사용됩니다.
- sklearn은 모델링 데이터를 기차 및 테스트 세트로 분할하는 데 사용됩니다.
- sklearn은 모델링 데이터를 표준화하는 데 사용됩니다.
- JSL 및 run_JSL() 기능은 테이블을 열고, 열 선택기 대화 상자를 구축하고, 선택한 데이터를 Python에 전달하는 데 사용됩니다.
- 결과는 JMP 로그를 참조하세요.
- 결과는 JMP 테이블로도 저장되며 Graph Builder는 sklearn에서 선형 회귀 모델 및 MLP 모델의 실제 대 예측 플롯을 만드는 데 사용됩니다.
************************************************** ************************************************
GradientBar.py
- Python 클래스는 데이터와 기능을 함께 묶는 객체 유형입니다.
- 함수를 정의하는 데 사용되는 Python def 키워드입니다.
- cairo 그래픽 라이브러리에 대한 바인딩을 제공하는 Pycairo 패키지입니다.
- Python 통합을 사용하여 JMP에서 기본적으로 지원되지 않는 그래프를 작성합니다. 이 경우 예제 그라데이션 막대 그래프가 생성됩니다.
- Python에서 생성된 그래프를 .png 파일로 저장하고 JMP 창 내의 JMP 그림 상자에 그래프를 표시합니다. 파일은 JMP 스크립트 창에서 Show(Convert File Path("$TEMP"))를 실행하여 확인할 수 있는 $TEMP에 저장되며 JMP 로그를 확인합니다.
************************************************** ************************************************
hdf5_import.py
- Python 통합을 사용하여 JMP에서 기본적으로 지원되지 않는 데이터 형식을 가져옵니다. 이 경우 데이터는 많은 과학 분야에서 널리 사용되는 hdf5(계층적 데이터 형식)입니다.
- hdf5 파일 가져오기를 지원하는 h5py 패키지입니다.
- hdf5 데이터 중 일부는 JMP 테이블에 복사되어 그래프 빌더에 표시됩니다(스펙트럼 데이터).
************************************************** ************************************************
jmp_slice.py
- Python에서 슬라이싱.
- JMP 데이터 테이블에서 Python의 슬라이싱 기능을 사용합니다.
- Python에서 JMP 테이블을 열고 테이블의 셀 값에 액세스합니다.
************************************************** ************************************************
parquet.py
- Python 통합을 사용하여 JMP에서 기본적으로 지원되지 않는 데이터 형식을 가져옵니다. 이 경우 데이터는 쪽모이 세공 데이터입니다.
- 쪽모이 세공 파일을 포함하여 다양한 형식의 데이터 가져오기를 지원하는 PyArrow 패키지.
- JMP 테이블을 생성하고 Parquet 파일의 내용을 JMP 테이블에 저장합니다. 이는 pq_Table의 열을 반복하고 도우미 함수를 사용하여 JMP 테이블에 한 번에 하나의 열을 추가함으로써 수행됩니다.
- 함수를 정의하는 데 사용되는 Python def 키워드입니다. 이 경우 함수는 인수를 받아들이고 객체를 반환합니다.
- JMP 테이블의 열 속성을 설정하려면 jmp.run_jsl()을 사용하세요.
************************************************** ************************************************
local_import.py
- 로컬 사용자 작성 패키지 가져오기. 이 경우 패키지 이름은 dt2pandas입니다.
- 이는 로컬 패키지입니다. 즉, 패키지를 가져오는 스크립트와 동일한 디렉터리에 위치합니다.
- 로컬 패키지에는 dt2df라는 정의된 함수가 있습니다. 그러면 JMP 데이터 테이블의 메모리에 pandas 데이터프레임이 생성됩니다.
************************************************** ************************************************
pyFromJSL.py
- Python Submit() 기능을 사용합니다.
- Python Execute() 기능을 사용합니다.
- JSL 정의 함수에서 Python 정의 함수 호출.
- JSL 내부의 Python 안에 JSL을 중첩합니다.
- JMP 객체를 조작하는 데 사용할 수 있는 Python 함수를 정의합니다. 이 경우 Python 함수는 더하기 연산자를 사용합니다. Python에서 더하기 연산자는 다양한 유형의 데이터에 사용될 때 다르게 동작합니다. 숫자 데이터의 경우 플러스는 합계를 반환합니다. 문자열과 목록의 경우 plus는 연결된 문자열이나 목록을 반환합니다. 벡터와 행렬의 경우 plus는 요소 합계를 기준으로 요소를 반환합니다.
- Python에서 정의된 함수는 Python Execute()를 사용하여 JSL에서 호출할 수 있습니다.
- 이는 Python 함수를 호출하는 JSL 함수를 생성하여 더욱 일반화할 수 있습니다.
- JSL 및 Python 코드는 중첩될 수 있습니다. 아래 예에서는 다음과 같습니다.
- 스크립트는 Python Submit()을 사용하여 Python을 호출하는 JSL입니다.
- Python 코드는 jmp.run_jsl()을 사용하여 JSL을 호출합니다.
- 최종 결과는 JSL을 호출하는 Python을 호출하는 JSL입니다.
- JSL 연관 배열 및 Python 사전. 아래 예에서는 JSL에서 생성된 연관 벡터가 Python Submit()을 사용하여 Python으로 전달됩니다. Python에서는 연관 벡터가 Python 사전이 됩니다.
************************************************** ************************************************
array_handling.py
- Python 목록, 배열 및 numpy 배열.
- 목록, 배열, numpy 배열의 데이터를 JMP 데이터 테이블로 마샬링합니다.
- 데이터 유형 및 JMP 테이블과의 호환성에 대한 고려 사항
- None 및 NaN 데이터와 JMP 테이블에 대한 고려 사항
- 슬라이싱 및 JMP 테이블 사용
- 데이터에 대한 포인터 및 Python 버퍼 규칙
- run_jsl()을 사용하여 열 수식 및 형식 정의
- 목록, 배열 및 numpy 배열의 더하기 및 별표 연산자에 대한 Python 규칙
************************************************** ************************************************
또한 공유할 수 있는 사례가 많이 있습니다. 기능을 구축하고 테스트하면서 많은 것들이 만들어졌습니다. 이 경우 대부분은 고급 통계보다는 기본 기능입니다.
안녕하세요 @Paul_Nelson , 더 많은 예제가 정말 유용할 것입니다. 당신이 가지고 있는 것을 살펴보기 위해 세션을 예약할 수 있나요? 나는 그들과 관련된 몇 가지 문서를 작성할 것입니다.
네, 세션을 예약할 수 있습니다. 영국에서 막 돌아왔기 때문에(맨체스터 이후 일주일 휴가) 이번 주에도 계속 따라잡고 있습니다.