inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

2-S 문제를 파이썬으로 풀을 때 질문

해결됨

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

위 문제를 파이썬으로 시도했습니다. 몇 주 동안 cpp하다가 파이썬으로 하니 파이썬이 불편함이 있네요.. 아래 코드를 실행한 경우, 시간 초과가 떴습니다. 제 생각에는 cpp 내용으로 파이썬 문법으로 그대로 옮겨 적은 거나 마찬가지라고 생각하는데요. from sys import stdin def main(): ret = 0 ans = [] n, m = map(int, stdin.readline().split()) visited = [0 for _ in range(n + 1)] tree = [[] for _ in range(n + 1)] def dfs(root: int): visited[root] = 1 cnt = 1 for there in tree[root]: if not visited[there]: cnt += dfs(there) return cnt for _ in range(m): a, b = map(int, stdin.readline().split()) tree[b].append(a) for i in range(1, n): cnt = 0 visited = [0 for _ in range(n + 1)] if len(tree[i]) != 0 and not visited[i]: cnt = dfs(i) if cnt > ret: ans.clear() ret = cnt ans.append(i) elif cnt == ret: ans.append(i) s = "" for i in ans: s += str(i) + " " print(s) if __name__ == "__main__": main() cpp 쓰다가 파이썬을 쓰니 초기화하는 것도 불편하고, 시간도 많이 걸립니다. (오랜만에 파이썬으로 다시 짜보면 무슨 느낌일지 궁금해서 시도해봤습니다. 아직은 병행하지 않고, 강의 완주 후에 파이썬으로 해볼 생각입니다. 파이썬을 사용하려는 이유는 파이썬을 사용하는 백엔드 회사에 들어갈려고 하거든요. 백엔드로 취업할려면 자바 스프링하라는 영상을 이미 시청했습니다.) main 안에다가 변수를 선언하고 그 안에 dfs 함수를 사용해서 클로저 방식으로 사용해봤는데요. 클로저를 사용 안하고 아래 조건문 안에 선언한 후, if __name__ == "__main__": ... visited = [0 for _ in range(n + 1)] main() 아래 코드처럼 dfs()를 호출하기 전에 visited를 초기화했음에도 불구하고도, for i in range(1, n): cnt = 0 visited = [0 for _ in range(n + 1)] if len(tree[i]) != 0 and not visited[i]: cnt = dfs(i) dfs()는 main()을 호출하기 전 visited를 인식하여 문제 풀이에 에러가 발생하는 것 같습니다. 일반적으로 변수를 선언한 후, 초기화하면서 변수에 그 값을 담는 방식이라면 파이썬은 이와 달리 변수 이름이 그 값에 라벨링처럼 지시하는 방식이라서 새롭게 변수를 생성하여 다른 변수로 인식하는 것 같습니다. global 이나 nonlocal 로 선언하여 사용하는 방식이 있으나, 이런 경우 시간 초과가 발생하더군요. 어떻게 해결할 수 있을까요?

  • c++
  • 코딩-테스트
김제하 댓글 1 좋아요 0 조회수 312

클래스 안의 static 메서드 질문입니다.

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

강의에 대한 질문이라기보다 자바 문법에 대한 질문입니다... 프론트 컨트롤러에서 service 메서드 안에서 viewResolver와 createParamMap 메서드를 호출하려면 두 메서드가 static이 되어야 service 메서드에서 호출할 수 있는 것 아닌가요? Ctrl + Alt + M 으로 자동으로 메서드로 변환해도 static이 붙는데 강의 영상에서는 static이 안 붙어도 동작하는 것 같아 질문 드립니다. private static MyView viewResolver(String viewName) { return new MyView("/WEB-INF/views/" + viewName + ".jsp"); } private static Map<String, String> createParamMap(HttpServletRequest request) { Map<String, String> paramMap = new HashMap<>(); request.getParameterNames().asIterator() .forEachRemaining(paramName -> paramMap.put(paramName, request.getParameter(paramName))); return paramMap; } MyView 클래스도 마찬가지입니다. private static void modelToRequestAttribute(Map<String, Object> model, HttpServletRequest request) { model.forEach((key, value) -> request.setAttribute(key, value)); }

  • spring
  • mvc
피로한 기린 댓글 1 좋아요 0 조회수 566

API Portal Admin 사이트 신규 생성에 따라 사용 방법 질문

미해결

배민도 사용한다고? 환경설정 없는 백엔드 노코드 개발!

8강 블로그 링크를 들어가면 삭제되었거나 이동되었다고 나오는데 어디서 확인하면 될까요? (https://blog.naver.com/nntuple/222878486439->안됨)

  • no-code
  • airtable
저스트콜미댄 댓글 1 좋아요 1 조회수 507

주문 등록 파라미에 대해서 질문드립니다.

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 상품 주문시에만 파라미터를 @requestParam으로 받으셨는데 특별한 이유가 있는지 궁금합니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
maurizio 댓글 1 좋아요 1 조회수 323

슬라이드 위치가 이상합니다...

미해결

[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드

범위가 넓어지면서 슬라이드가 오른쪽으로 빗겨나갑니다.. 왜일까요..ㅠㅠ <!DOCTYPE html> <html lang="kr"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="css/style.css"> <title>B-4 강의들으면서 만들기</title> </head> <body> <div class="container"> <div class="header-inner"> <div class="header"> <div class="logo"><a href="#none"><img src="image/logo.png" alt="header logo"></a></div> <div class="navi"> <ul class="menu"> <li> <a href="#none">대학소개</a> <div class="sub-menu"> <a href="#none">총장인사말</a> <a href="#none">학교소개</a> <a href="#none">홍보관</a> <a href="#none">캠퍼스안내</a> </div> </li> <li> <a href="#none">대학소개</a> <div class="sub-menu"> <a href="#none">총장인사말</a> <a href="#none">학교소개</a> <a href="#none">홍보관</a> <a href="#none">캠퍼스안내</a> </div> </li> <li> <a href="#none">대학소개</a> <div class="sub-menu"> <a href="#none">총장인사말</a> <a href="#none">학교소개</a> <a href="#none">홍보관</a> <a href="#none">캠퍼스안내</a> </div> </li> <li> <a href="#none">대학소개</a> <div class="sub-menu"> <a href="#none">총장인사말</a> <a href="#none">학교소개</a> <a href="#none">홍보관</a> <a href="#none">캠퍼스안내</a> </div> </li> </ul> <div class="sub-back"></div> </div> </div> </div> <div class="content-inner"> <div class="slide"> <div> <a href="#none"><img src="image/slide_1.jpg" alt="slide1"></a> <a href="#none"><img src="image/slide_2.jpg" alt="slide2"></a> <a href="#none"><img src="image/slide_3.jpg" alt="slide3"></a> </div> </div> <div class="items"> <div class="notice"> <div class="tab-inner"> <div class="btn"> <a href="#none">공지사항</a> </div> <div class="tab1"> <a href="#none"><em>SMS 발송 모바일 서비스 개선작업 안내입니다.</em><b>2020.01.09</b></a> <a href="#none"><em>SMS 발송 모바일 서비스 개선작업 안내입니다.</em><b>2020.01.09</b></a> <a href="#none"><em>SMS 발송 모바일 서비스 개선작업 안내입니다.</em><b>2020.01.09</b></a> <a href="#none"><em>SMS 발송 모바일 서비스 개선작업 안내입니다.</em><b>2020.01.09</b></a> <a href="#none"><em>SMS 발송 모바일 서비스 개선작업 안내입니다.</em><b>2020.01.09</b></a> </div> </div> </div> <div class="gallery"> <div class="tab-inner"> <div class="btn"> <a href="#none">갤러리</a> </div> <div class="tab2"> <a href="#none"><img src="image/gallery1.jpg" alt="gallery1"> </a> <a href="#none"><img src="image/gallery2.jpg" alt="gallery2"> </a> <a href="#none"><img src="image/gallery3.jpg" alt="gallery3"> </a> </div> </div> </div> <div class="banner"><a href="#none"><img src="image/shortcut.jpg"></a></div> </div> </div> <div class="footer-inner"> <div class="footer"> <div class="copyright"> <div>법적고지 개인정보취급방침 개인정보처리방침</div> <div>상호 : 엣지컴퍼니 | 대표자 : 홍길동 | 개인정보관리책임자 : 장길산 차장 사업장주소 : 서울특별시 강남구 테헤란로 123-56</div> </div> <div class="site"></div> </div> </div> <div class="modal"> <div class="modal-content"> <h2>SNS비회원주문하기 종료 안내</h2> <p>안녕하세요, JUST 쇼핑몰 MD 홍길동입니다. 안타깝게도 SNS비회원 주문하기 서비스가 한달 뒤 종료될 예정입니다. <br> 회원가입없이 SNS계정을 이용해 그동안 제품주문을 하실수 있었는데, 금번 강화된 개인정보보호법 시행령 제 9조 (부칙 3조 3항)에 의거, SNS를 이용한 상품 주문/결제등이 근래에 많은 보안잇슈로 문제가 되고 있음에 다라 KISA의 권고조치의 일환으로 했습니다. 따라서, 한달뒤인 2019.03.10 이후 모든 비회원 고객님들께서는 회원가입으로 전환 후 실명인증이 되어야 하며, 이는 모든 쇼핑몰/오픈마켓등의 전자상거래서비스의 공통된 사항이라는 점을 안내해드립니다.</p> <a href="#none">X 닫기</a> </div> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script> </body> </html> @charset 'utf-8'; body {margin: 0; background-color: #fff; color: #222328; font-size: 15px;} a {color: #222328; text-decoration: none;} ul, li {list-style: none; padding: 0; margin: 0;} .container {width: 100%; height: 1000px;} .header-inner {background-color: #ddd; } .header { width: 1200px; height: 100px; margin: auto; position: relative; z-index: 9999;} .header > div {} .header .logo {width: 200px; float: left;} .header .navi {width: 600px; float: right;} /* 네비게이션 */ .menu {margin-top: 60px; position: absolute;} .menu li {float: left; width: 150px; box-sizing: border-box; text-align: center; ;} .menu li > a {display: block; padding: 10px; border: 1px solid #000; transition: 0.5s; background-color: #fff;} .menu li:hover > a {background-color: #000; color: #fff;} .sub-menu {border: 1px solid #000; display: none;} .sub-menu a {display:block; padding: 5px; transition: 0.5s; color: #fff; background-color: #000; } .sub-menu a:hover { background: #fff; color: #000;} .sub-back { display: none; width: 1200px; height: 120px; background-color: #000; position: absolute; top: 98px; left: 0; z-index: -1; } /* 아이템 */ .content-inner { width: 100%; } /* 슬라이드 */ .slide { width: 1200px; height: 300px; border: 1px solid #000; position: relative; overflow: hidden;} .slide > div { width: 3600px; font-size: 0; animation: slide 10s linear infinite; top: 0; left: 0; position: absolute;} .slide > div > a:nth-child(1) {animation-delay: 0s;} .slide > div > a:nth-child(2) {animation-delay: 3.5s;} .slide > div > a:nth-child(3) {animation-delay: 7s;} @keyframes slide { 0% {left:0px} 30% {left:0px} 35% {left:-1200px} 65% {left:-1200px} 70% {left:-2400px} 95% {left:-2400px} 100% {left:0px} } /* 아이템 */ .items {width: 1200px; margin: auto; overflow: hidden;;} .items > div { height: 200px; box-sizing: border-box;} .notice {width: 400px; float: left;} .notice .tab-inner {width: 95%; margin: auto; margin-top: 10px;} .notice .tab-inner .btn {display: inline-block; border: 1px solid #000; text-align: center; width: 100px; border-radius: 5px 5px 0 0; border-bottom: none; padding: 5px; background-color: #fff; margin-bottom: -1px;} .notice .tab-inner .btn a {} .notice .tab-inner .tab1 {border: 1px solid #000;} .notice .tab-inner .tab1 a {padding: 5px; display: block; border-bottom: 1px solid #000;} .notice .tab-inner .tab1 a:last-child {border-bottom: none;} .notice .tab-inner .tab1 a b{ float: right; font-weight: normal;} .notice .tab-inner .tab1 a em {font-style: normal;} .gallery {width: 400px; float: left;} .gallery .tab-inner {width: 95%; margin: auto; margin-top: 10px;} .gallery .tab-inner .btn {display: inline-block; border: 1px solid #000; text-align: center; width: 100px; border-radius: 5px 5px 0 0; border-bottom: none; padding: 5px; background-color: #fff; margin-bottom: -1px;} .gallery .tab-inner .btn a {} .gallery .tab-inner .tab2 { text-align: center; border: 1px solid #000;} .gallery .tab-inner .tab2 img {width: 110px; padding-top:20px ; padding-bottom: 15px;} .banner {width: 400px; float: left; } /*푸터*/ .footer-inner {width: 100%; height: 100px; background-color: #ddd; overflow: hidden;} .footer {width: 1200px; margin: auto; overflow: hidden;} .footer > div { float: left; box-sizing: border-box; height: 100px;} .copyright {width: 1000px;} .copyright div {; height: 50%;} .site {width: 200px;} .modal {display: none;}

  • HTML/CSS
  • jquery
  • 웹-디자인
김유나 댓글 1 좋아요 1 조회수 406

자주 활용되는 판다스 예제 quiz 관련 질문

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요 코딩 입문자입니다. 가격이 5000 이상인 데이터의 수를 구할때 코딩을 result=len(df['가격']>=5000) print(result) 이렇게 구성하면 안되는 건가요? con=df['가격']>=5000 len(df[con]) 값이랑 다르게 나와서요ㅣ.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
six6230 댓글 1 좋아요 0 조회수 351

use-new-id-generator-mappings

미해결

[초급] 맛보자! 코틀린과 스프링으로 API 호출하기

use-new-id-generator-mappings: false 가 더이상 지원하지 않는다고 하는데 대체해야할까요?

  • spring
  • kotlin
  • spring-boot
jjang9 댓글 1 좋아요 0 조회수 2171

vivado 설치관련 질문입니다.

미해결

설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)

settings64.sh가 없다고 나와서 따라해봤는데 xvlog가 안되네요..여러변 처음부터 다시 해봐도 똑같습니다. 어떻게 해봐야할까요?

  • verilog-hdl
  • fpga
  • 임베디드
이원일 댓글 3 좋아요 2 조회수 821

스트록 복사 알려주세요,,

미해결

UX/UI 시작하기 : Figma 입문 (Inflearn Original)

썸네일 스트로크 복사가 맥북기준 컨트롤+v 인가요? 먹히지 않아요 ㅠㅠ,, 박스에 붙여넣기 할 때 단축기도 알려주세요,,

  • 프로토타이핑
  • figma
meemeezzang 댓글 2 좋아요 1 조회수 428

프론트 컨트롤러 코드 질문입니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

안녕하세요. 프론트 컨트롤러는 서블릿 객체라 싱글톤으로 관리된다고 이해했습니다. controllerMap에 URL과 다른 컨트롤러 객체를 넣을 때 기본 생성자를 사용하는 이유가 있나요? 싱글톤이면 생성자를 사용하지 않고 바로 controllerMap.put해서 넣어도 똑같지 않나요? 어떤 목적으로 생성자에 넣는 것인지요?? @WebServlet(name = "frontControllerServletV1", urlPatterns = "/front-controller/v1/*") public class FrontControllerServletV1 extends HttpServlet { // key는 url private Map<String, ControllerV1> controllerMap = new HashMap<>(); public FrontControllerServletV1() { controllerMap.put("/front-controller/v1/members/new-form", new MemberFormControllerV1()); controllerMap.put("/front-controller/v1/members/save", new MemberSaveControllerV1()); controllerMap.put("/front-controller/v1/members", new MemberListControllerV1()); } service 메서드를 상속받을 때 protected와 public 2개가 있었습니다. protected만 써야 하는 이유는 무엇인가요?? @Override protected void service( @Override public void service( 항상 잘 듣고 있습니다. 감사합니다.

  • spring
  • mvc
피로한 기린 댓글 1 좋아요 0 조회수 448

playground 데이터 조회 관련

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

강사님 안녕하세요 ! 무엇이 문제인지 도통 모르겠어서 질문 남깁니다.. 섹션 30 강의에서 아래와 같이 작성하면 import { gql, useQuery } from '@apollo/client'; const FETCH_BOARDS = gql` query { fetchBoards { number writer title contents } } `; // const FETCH_BOARDS = gql` // query { // fetchBoards { // writer // title // contents // } // } // `; export default function StaticRoutingMovedPage() { const { data } = useQuery(FETCH_BOARDS); console.log(data); console.log(data?.fetchBoards); return ( <div>안녕 {data?.fetchBoards.map(el => ( <div key={el.number}> <span> <input type="checkbox" /> </span> <span style={{ margin: "10px" }}>{el.number}</span> <span style={{ margin: "10px" }}>{el.title}</span> <span style={{ margin: "10px" }}>{el.writer}</span> </div> ))} </div> ); } 이런 에러가 확인됩니다. 조회하려는 데이터에 number가 문제인가 싶어 위에서 주석 처리한 부분과 같이 number를 지워보면 빈 화면만 떴었는데 이번엔 게시글 목록 데이터가 확인이 되기는 합니다. Warning: Each child in a list should have a unique "key" prop. 하지만 위와 같은 경고 문구가 확인이 되어서 return 문에 key를 추가해 봤으나, 동일한 에러가 떠있습니다. return ( <div> {data?.fetchBoards.map(el => ( <div key={el.number}> <span> <input type="checkbox" /> </span> <span style={{ margin: "10px" }}>{el.number}</span> <span style={{ margin: "10px" }}>{el.title}</span> <span style={{ margin: "10px" }}>{el.writer}</span> </div> ))} </div> ); 제가 playground에서 데이터를 조회해보면 위와 같이 데이터가 확인이 되긴 하는데, 왜 number 관련 에러가 뜨는지, 무엇이 문제인지 모르겠습니다. 또 강사님과는 다른 데이터가 확인되는데, 강사님과 다른 데이터가 조회되는 것이 맞는건가요? 데이터 값이 다르게 나올 수도 있는 건지 헷갈립니다.. 질문을 남기는 중에 새로고침을 했더니, 아까와 달리 number를 지운 후, Network - Response 에 보였던 데이터가 안보이고 다른 문구가 생겼습니다. 게시글 목록 데이터는 화면에 조회되는데 왜 저런 문구가 생긴걸까요? 궁금한 점이 많지만,, 답변 주시면 감사하겠습니다 ㅠㅡㅠ

  • react
  • node.js
  • seo
  • graphql
  • next.js
차롱 댓글 1 좋아요 0 조회수 412

타입스크립트 tsc -v 오류

미해결

한 입 크기로 잘라먹는 타입스크립트(TypeScript)

tsc : 'tsc' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + tsc -v + ~~~ + CategoryInfo : ObjectNotFound: (tsc:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException 이러한 오류가 뜨는데 어떻게 해야할까요? 파워쉘로 고쳐보려는데도안되서,,,

  • typescript
binily 댓글 1 좋아요 0 조회수 1657

VirtualBox 자동종료

미해결

Linux Command-Line 명령어 기초 배우기

안녕하세요 설치부터 강의를 따라하는데 VirtualBox를 켜고 우분투를 설치를 하고 싶은데 실행 후 몇 초 뒤 VirtualBox가 자동으로 꺼져 리눅스 서버를 켤 수가 없습니다. 구글링해서 찾아본대로 따라해보아도 해결법이 보이지 않습니다. 어떻게 해결할 수 있나요?

  • linux
  • virutalbox
  • 자동종료
toqur7000 댓글 2 좋아요 0 조회수 1216

오류 표시 관련 문의

미해결

한 입 크기로 잘라먹는 타입스크립트(TypeScript)

안녕하세요 강사님! 수업 즐겁게 듣고 있습니다. 좋은 강의 감사합니다 :) 다름 아니라 ts 파일에서 잘못된 코드를 작성하여도 빨간줄과 같은 오류 표시가 뜨지 않는데, 혹시 어떤 게 문제인지 알 수 있을까요? restart도 해보고 vscode를 껐다 켜보기도 했는데 달라지는 게 없습니다 ;) 이 화면은 강사님의 화면이고 아래는 제 화면입니다. 노란색 박스 부분 확인 부탁드립니다. +) Error Lens 확장도 설치해봤는데 달라지는 건 없었습니다 ㅠ,ㅜ

  • typescript
댓글 1 좋아요 0 조회수 643

data import 덤프 기능

미해결

[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

데이터 분석을 위한 환경 구축 (업데이트) 4:27 data import 덤프기능을 사용하는 이유가 궁금합니다 이전에 배웠던대로 student.sql파일로 실행할때처럼 file->open sql.script->student.sql 이런 방식과 차이점이 어떤것인가요? 그리고 create database bestproducts; 를 하기 전 오류가 뜨는 이유와 치면 오류가 왜 사라지는지 궁금합니다

  • python
  • sql
  • mysql
  • dbms/rdbms
  • 데이터-엔지니어링
이하윤 댓글 1 좋아요 0 조회수 294

DATAQ 체험문제 제2유형 관련 질문드립니다

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

https://dataq.goorm.io/exam/116674/%EC%B2%B4%ED%97%98%ED%95%98%EA%B8%B0/quiz/2 관련 질문 입니다 에러메시지는 이렇게 나오는데요 /goorm/Main.out:68: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel(). model.fit (X_tr,y_tr) model.fit (X_tr,y_tr['gender']) 이라고 수정해주면 에러메시지가 사라집니다. 그런데 저는 위에서 이미 y_train=y_train.drop('cust_id',axis=1) 이라고 해주었는데도 gender 컬럼을 지정해주어야 에러메시지가 안나오는 이유가 궁금합니다 ㅠㅠ 제가 작성한 전체 코드는 아래에 첨부드립니다... 질문이 좀 번거로워서 죄송합니다 그리고 번외로, train 과 test 를 합친 all_data 에 라벨인코딩을 적용할때는 encoder.fit _transform 으로만 적어주면 되는거 같은데 이게 맞는지도 한번 여쭤보고 싶습니다 # 출력을 원하실 경우 print() 함수 활용 # 예시) print(df.head()) # getcwd(), chdir() 등 작업 폴더 설정 불필요 # 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가 # 데이터 파일 읽기 예제 import pandas as pd X_test = pd.read_csv("data/X_test.csv") X_train = pd.read_csv("data/X_train.csv") y_train = pd.read_csv("data/y_train.csv") # 사용자 코딩 X_train=X_train.drop('cust_id',axis=1) y_train=y_train.drop('cust_id',axis=1) test_id=X_test.pop('cust_id') # 1.결측치 X_test['환불금액']=X_test['환불금액'].fillna(0) X_train['환불금액']=X_train['환불금액'].fillna(0) # 스케일링 from sklearn.preprocessing import (RobustScaler,MinMaxScaler) scaler = MinMaxScaler() cols = X_train.select_dtypes(exclude=object).columns # print(X_test.head()) X_train[cols]=scaler.fit_transform(X_train[cols]) X_test[cols]=scaler.transform(X_test[cols]) # print(X_train.head()) # 라벨인코딩 from sklearn.preprocessing import LabelEncoder encoder = LabelEncoder() # print(X_train.select_dtypes(include=object)) cols = ['주구매상품','주구매지점'] # print('train') # print(X_train[cols].nunique()) # 주구매상품 42 # 주구매지점 24 로 동일 # print('test') # print(X_test[cols].nunique()) # 주구매상품 41 # 합쳐야함 all_data = pd.concat([X_train,X_test]) # print(X_train.shape, X_test.shape, all_data.shape ) # (3500, 10) (2482, 10) (5982, 10) # 라벨인코딩 진행함 # print(all_data[cols].head()) for col in cols: all_data[col] = encoder.fit_transform(all_data[col]) # print(all_data[cols].head()) #라벨인코딩 확인완료 # 다시 나눠야함 X_train = all_data.iloc[:X_train.shape[0],:] X_test = all_data.iloc[X_train.shape[0]:,:] # print(X_train.shape, X_test.shape, all_data.shape ) # # (3500, 10) (2482, 10) (5982, 10) # 확인완료 # .iloc 주의할것 # validation dataset 분리 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(X_train,y_train,random_state=2023,test_size=0.15) # print(X_tr.shape,X_val.shape,y_tr.shape,y_val.shape) #(2975, 9) (525, 9) (2975, 1) (525, 1) # 모델링, 평가지표 from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_auc_score model = RandomForestClassifier(random_state=2023,max_depth=7,n_estimators=400) model.fit(X_tr,y_tr['gender']) pred=model.predict_proba(X_val) print(roc_auc_score(y_val ,pred[:,1])) # 남자일 확률 (0:여자,1:남자) # 답안 제출 참고 # 아래 코드 예측변수와 수험번호를 개인별로 변경하여 활용 pred=model.predict_proba(X_test) pd.DataFrame({'custid': test_id, 'gender': pred[:,1]}).to_csv('20230615.csv', index=False) submit = pd.read_csv('20230615.csv') print(submit.head())

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
김민지 댓글 1 좋아요 0 조회수 708

3번째 tx가 1번째 tx에 참여하게 할 수 있나요?

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

안녕하세요. 현재 스프링 트랜잭션 전파7을 듣는 예제에서 제가 3번째 트랜잭션을 만들어봤습니다. 2번째 트랜잭션은 REQUIRES_NEW이므로 새로운 커넥션이 생성되고 1번째 커넥션은 지연됩니다. 그 결과 3번째 트랜잭션을 만들면 2번째 트랜잭션에 참여하는 것처럼 보입니다. 그러면 2번째 트랜잭션을 사용하다가 잠시 2번째를 지연시키고, 다시 1번째를 사용하면서 3번째가 이에 참여하게 만들었다가 다시 2번째를 사용하도록 만들 수도 있나요? [예시] [tx 1] 생성 [tx 1] 지연, [tx 2] 생성 [tx 2] 지연, [tx 1] 사용 [tx 3] 생성, [tx 1]에 참여 [tx 3]과 [tx 1] 커밋 [tx 2] 커밋 이런 상황을 만날 일은 없어보이고, 이런 문제상황은 다른 해결방법이 있겠지만 트랜잭션 매니저로 위와 같은 상황을 해결할 수 있는지가 궁금합니다.

  • spring
psam1017 댓글 1 좋아요 0 조회수 431

영속성 컨텍스트 에러 질문

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요 스프링 부트 환경에서 JPA 를 쓸때 이해하지 못하는 에러가 나서 질문합니다. 현재 서비스와 레포지토리 레이어를 분리해서 사용하고 있고, @Transactional 어노테이션은 레포지토리 클래스에만 적용해 놓은 상태입니다. 우선 save 함수와 findOne 함수는 이런식으로 존재합니다. public void save(Lost entity) {em.persist(entity);} public Optional<Lost> findOne(Long id) {return Optional.ofNullable(em.find(Lost.class, id));} Lost 엔티티는 이런식으로 존재합니다 (더 많은 컬럼이 있지만 필요한 것만 적었씁니다) @Data @Builder @AllArgsConstructor @NoArgsConstructor @Table(name = "lost") @Entity @JsonIgnoreProperties({"organization", "postCodeType"}) public class Lost { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "lost_id") private Long id; @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "lost_user_id", referencedColumnName = "user_id", insertable = false, updatable = false) @EqualsAndHashCode.Exclude @ToString.Exclude private User user; } 근데 서비스 레이어에서 Lost result = lostsRepository.save(LostMapper.INSTANCE.toEntity(lostRequest)); System.out.println(lostsRepository.findOne(result.getId()).get().getUser()); 이런식으로 findOne을 해서 user 필드를 가져오려고 하면 null 이 뜹니다ㅠㅠ @ManyToOne(fetch = FetchType.EAGER) 이 설정도 잘 해줬고, 커밋도 레퍼지토리에서 해서 그러면 user 필드가 채워져서 와야 할텐데 이해가 안됩니다..ㅠ @ToString.Exclude 문제는 아닌게 getUser 을 해서 봤을때도 null 이 뜹니다. 혹시 뭐가 문제일까요? findOne을 쓰는 다른 곳에서는 잘 동작하는데, 저렇게 save 를 한 직후에 save 한 엔티티 아이디로 findOne을 하면 조인한 다른 객체가 null로 뜹니다. 추가로 우선 해당문제는 public void save(Lost entity) {em.persist(entity); em.flush(); em.refresh(entity); } 이런식으로 바꿔서 해결했습니다. 메커니즘이 이해가 안가서 질문드립니다!! 감사합니다

  • java
  • jpa
dlsvmfjsrnrmf 댓글 1 좋아요 0 조회수 337

피처 엔지니어링 코드 이래도 될까욧!?

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

# 피처 엔지니어링 cols1 = list(X_train.columns[X_train.dtypes == object]) # 범주형 cols2 = list(X_train.columns[X_train.dtypes != object]) # 수치형 Xc_train = X_train[cols1] # 범주형 Xc_test = X_test[cols1] Xn_train = X_train[cols2] # 수치형 Xn_test = X_test[cols2] Xc_train = pd.get_dummies(X_train[cols1]) Xc_test = pd.get_dummies(X_test[cols1]) from sklearn.preprocessing import RobustScaler Ro = RobustScaler() X_train[cols2] = Ro.fit_transform(X_train[cols2]) X_test[cols2] = Ro.transform(X_test[cols2]) Xn_train = X_train[cols2] # 수치형 Xn_test = X_test[cols2] X_train = pd.concat([Xc_train, Xn_train], axis = 1) X_test = pd.concat([Xc_test, Xn_test], axis = 1) print(X_train) print(X_test) 늘 빠른 답변 감사드려용

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
sychang2000 댓글 1 좋아요 1 조회수 262

예시문제 작업형2 코드 질문

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

import pandas as pd test = pd.read_csv("data/X_test.csv") train = pd.read_csv("data/X_train.csv") y_train = pd.read_csv("data/y_train.csv") pd.set_option('display.max_columns', None) # 사용자 코딩 test['환불금액'] = test['환불금액'].fillna(0) train['환불금액'] = train['환불금액'].fillna(0) from sklearn.preprocessing import LabelEncoder cols = train.select_dtypes(include='object').columns # print(cols) le = LabelEncoder() for col in cols: train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) train = train.drop('cust_id', axis = 1) test_id = test.pop('cust_id') # print(train.head()) # print(train.head(3)) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, y_train['gender'], test_size=0.2, random_state = 0) from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state = 0) rf.fit(X_tr, y_tr) pred = rf.predict_proba(X_val) # print(pred) from sklearn.metrics import roc_auc_score # print(roc_auc_score(y_val, pred[:, 1])) pred_res = rf.predict_proba(test) pd.DataFrame({'custid': test_id, 'gender': pred_res[:,1]}).to_csv('950326.csv', index=False) # print(pd.read_csv('950326.csv')) 안녕하세요, 딴짓님 제가 강의 안 보고 혼자 작성한 내용인데요.. 혹시 해당 내용처럼 작성하면 올바르게 작성한 건지 혼자서 판단이 안 돼서요ㅠ RandomForest 모델 + 소개해주신 lightGBM정도만 준비해가면 될는지요..

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
눈누난나 댓글 1 좋아요 0 조회수 444

인기 태그

인프런 TOP Writers

주간 인기글