본문 바로가기
여러 가지 이야기/잡다한 이야기

코드에 관한 질문은 '무조건' 명확하고 재현이 가능해야 합니다

by 김판다t 2023. 8. 16.
질문1. 강의를 그대로 따라 했는데 결과가 다르게 나와요

 

질문1처럼 질문을 하시면 어떻게 따라했는지 알 수 없으며 어떻게 결과가 나왔는지도 알 수 없기에 처리가 불가능합니다.

 

그리고 놀랍게도 이렇게 질문하는 분의 99%는 강의를 정확히 따라하지 않아서 문제가 생긴 분들입니다.

 

 

질문2. merge를 썼는데 on에 복수의 열을 넣으면 예상과 달리 아래와 같이 업체열이 둘이 되고 이름이 송중기가 2개, 이름이 권보아가 두개 나오는 등 행이 중복되는 결과가 나옵니다. 왜 이렇게 되는거죠??

 

(예제 코드와 실행한 코드 없이 결과만 첨부)

 

이름	업체	제품	업체	가격
0	송중기	콩다방	아이스티	콩다방	4600
1	송중기	콩다방	아이스티	별다방	4200
2	권보아	콩다방	카페라떼	콩다방	4700
3	권보아	콩다방	카페라떼	별다방	4300

 

질문2와 같은 질문은 여러분이 어떤 예제에 어떤 코드를 사용했는지 알 수 없고 어떤 결과를 바라는데 위 결과가 나왔는지 알 수가 없습니다.

 

 

 

 

이런 질문은 질문자의 생각과는 달리 코딩에서는 처리할 수가 없는 질문입니다.

무엇을 원하는지 명확하지 않으며 코드가 없어서 여러분이 겪은 상황을 제가 그대로 재현할 수 없기 때문입니다.

여러분이 어떤 상황에서 무슨 코드를 실행시켜는지 원치 않는 결과를 얻었는지 모르고,

해당 결과를 일으키는 원인은 수십가지가 있어서 수십가지를 다 설명해드릴 수도 없으며 

그중 하나를 점치고 짐작해서 찍어서 알려드릴 수도 없기 때문입니다.

실강이라면 여러분의 자리에 가서 강사가 여러분의 코드를 확인할 수 있겠지만 온라인 강의를 보고 이렇게 질문하시면 해결이 힘듭니다

 

그렇지만 코딩의 본질은 명확함이라 질문자가 질문을 수정해 코딩을 코딩답게 질문하면 명확하고 해결가능한 질문이 됩니다

온라인 강의도 질문만 잘하면 해결이 된다는 이야기죠!

코딩 질문은 답변자가 질문자의 코드를 돌려서 질문자가 겪은 것과 같은 결과를 나오게 만들어야 해결할 수 있습니다

이걸 재현 가능한 질문이라고 합니다.

코딩에 대한 질문은 재현가능한 질문을 해야 답변을 받으실 수 있습니다.

 

 

여러분이 앞으로 계속적으로 코딩을 하기 위해서 가장 중요한 훈련이 명확하고 재현가능하게 질문하는 방법을 익히는 것 입니다.

코딩에서 가장 중요한 것은 문제해결 능력입니다.

코딩은 명확하게 질문해 재현가능하게 할 수 있다면 ai든 커뮤니티에서든 누구에게서든 정확한 도움을 받을 수 있고 정확한 해결이 됩니다.

여러분이 앞으로 겪는 모든 문제를 해결하기 위해 필수적인 훈련이고 여러분을 위한 훈련입니다

현재 이 시점에서 조금 번거로워 보일지라도 가장 빠르게 실력을 쌓는 지름길입니다!

 

 

아래의 안내에 따라 질문해주세요!
놀랍게도 안내에 따라 질문을 하는 과정만으로도 여러분의 문제가 풀릴 수 있습니다.
왜냐하면 많은 문제는 질문자가 코드를 검토만 해도 해결되는 문제들이지만
질문자가 본인 코드를 검토조차 하지않고 질문부터 올리는 경우가 많은데
재현가능하고 명확한 질문을 만들면서 자연스럽게 본인의 코드도 검토하기 때문입니다.

 


질문에 다음과 같은 항목을 추가해서 이메일로 보내주셔야 합니다

 

pandakimt@gmail.com로 아래 여섯가지 내용을 첨부해서 메일을 보내주시면 됩니다!

 

 

 

1. 먼저 질문을 AI에게 해보시고 답변을 저에게 첨부해 주세요. (대부분 여기서 문제가 해결되시니까 꼭 첨부하셔야 합니다)

 

여러분이 실강을 들으신다면 강사가 즉각적으로 답변을 해주겠지만 (이것이 실강의 가장 큰 존재 이유입니다.)

온라인 강의를 선택하셨다는 것은 강사를 통한 즉각적인 문제해결은 실강보다는 어렵다는 것을 스스로도 인지하고 선택하신 겁니다.

코딩은 하루에도 수십개의 의문점이 생깁니다.

초보자 때는 당연히 더욱 심합니다

그 과정들 중에 생기는 의문을 강사에게 모두 질문을 넣고, 온라인 강의의 특성상 시간이 흐른 뒤 답변을 받게 되면

여러분이 코딩 공부를 지속하실 수가 없게 됩니다.

만약 질문이 명확하지 않아, 강사가 재차 삼차 역질문을 통해 질문을 명확하게 하기위해 확인해야 된다면 정말 시간이 많이 걸립니다.

 

그렇지만 이 모든 문제는 AI를 통해 해결됩니다

AI를 통해 질문하면 쉽고 빠르게 답변을 얻을 수 있습니다!

설령 한번에 정확한 답변을 얻지 못했다 하더라도 재차 여러번 질문해 답변을 얻을 수 있습니다!

간편하고 빠른데 안쓸 이유가 있을까요?!

의문이 즉각적으로 해결이 되어야 초심자는 코딩공부를 이어나갈 수 있습니다

여러분 시대가 변했습니다. 코딩공부에는 AI가 필수입니다!

 

AI에게 어떻게 질문하는지 모르시겠다면 아래 포스팅을 차근차근 따라해보세요 하나도 어렵지 않습니다

 

온라인 코딩 강의를 듣는 분들은 원하는 결과가 나오지 않으면 먼저 AI에게 질문해보세요! (링크를 클릭하세요!)

 

이 링크를 클릭하시면 여러분도 이제 AI를 사용해 문제를 해결하시는 고급인력이 되시는 겁니다!

AI에게 한 질문을 저에게 첨부한다면 AI에게 질문하는 방법도 첨삭받으실 수 있으니 반드시 첨부해 주세요!

만약 여기서 문제가 해결되셨다면 더이상 질문을 하실 필요도 없고 앞으로도 쉽게 문제가 해결되실 거니까 그것도 좋은 일입니다!

 

 

 

2.여러분의 개발환경(사용하는 코딩 프로그램)과 판다스 버전을 알려주세요

 

여러분에게 발생한 문제는 여러분의 개발환경 때문일 수도 있습니다

그러니깐 파이참, 주피터노트북, vscode, 코랩등 여러분이 사용하는 프로그램과 판다스 버전을 남겨주세요.

만약 여러분이 주피터 노트북이나 코랩을 사용하고 있지 않고 계시다면 일단 초심자때는 강의와 똑같은 프로그램을 쓰셔야 합니다

문제가 생겼을 때 강사에게 질문을 하는 분들은 초심자인거니깐, 여러분은 강의 환경을 통일하셔야 하는 분들입니다!

본인의 파이썬을 강의와 통일하는 것은 정말 중요하니깐 잠시 질문을 멈추시고 꼭 아래 링크를 따라주세요

 

나의 개발 환경이 강의와 다르다면 어떻게 해야 할까요?(주피터 노트북이나 코랩이 아닌 분은 클릭)

 

 

만약 첨부하셔야 할 판다스 버전을 모르시는 분은 아래와 같은 코드를 실행하시면 됩니다

import pandas as pd
pd.__version__

 

(위 코드를 따라 치시고 오타를 내셔서 에러가 나실 수 있으니 반드시 복사해서 붙여넣기 하시고 실행하세요)

 

사용하는 프로그램과 판다스 버전에 따라 다른 결과가 나올 수 있으니 반드시 첨부해주셔야 합니다.

 

 

 

3. 예제 코드를 반드시 텍스트로 포함해 주세요

 

예제 코드가 있어야 실행했을 때 여러분과 같은 결과가 나올 수 있습니다.

강의에 쓰였던 예제라 하더라도 반드시 예제코드를 함께 남겨주세요

예제 코드에 오타를 내거나 본인의 실습을 위해 변형하는 등의 이유로 강의와 같지 않은 경우가 빈번하고,

그것 때문에 문제가 생기는 경우가 빈번하니 강의에 쓰인 예제라도 반드시 코드를 통째로 첨부해 주세요.

또한 반드시 복사가 가능하도록 text로 첨부해 주셔야 합니다. 스샷등의 이미지로 첨부하시면 안됩니다.

여러분의 코드를 그대로 복사해서 실행시켜야 여러분과 같은 상황이 되기에 반드시 텍스트로 첨부해주세요.

 

 

 

4. 본인이 실습한 코드를 텍스트로 첨부해주세요

 

당연히 여러분과 같은 결과를 내기 위해서는 여러분이 실습한 코드도 있어야 합니다.

그래야 실행해 볼 수 있으니까요

실습한 코드도 반드시 복사가 가능하도록 text로 첨부해 주셔야 합니다. 스샷등의 이미지로 첨부하시면 안됩니다.

여러분의 코드를 그대로 복사해서 실행시켜야 여러분과 같은 상황이 되기에 반드시 텍스트로 첨부해주세요.

 

 

5. 본인이 실행한 코드와 결과를 스샷으로 첨부해 주세요

 

위에서 첨부한 예제 코드와 실습한 코드와 그 결과가 모두 포함되도록 스샷을 찍어주세요.

이 때 다른 코드가 결과를 꼬이도록 만들 수 있으니 반드시 예제 코드와 실습코드만 실행이 되도록 해주세요

초보분들은 그냥 새 파일(ipynb)에 예제코드와 실습코드만 붙여 넣기한 뒤 그것만 실행시켜서 셀 옆의 넘버를 1부터 넘버링이 되도록 만드세요.

(가능하신 분은 커널을 리셋 후 예제 코드와 실습 코드만 다시 실행시켜 1부터 넘버링이 되도록 하셔도 됩니다.)

 

 

이 스샷이 있어야 제가 여러분이 어떤 코드를 실행했는지와 그로 인해 얻은 결과를 확인할 수 있습니다

반드시 예제 코드, 실습한코드, 나의 실습결과 이 세가지가 포함되어야 합니다.

본인은 B라는 코드를 실행했으면서 A라는 코드가 본인이 원하는 결과가 안나온다고 질문하는 경우가 매우 빈번합니다.

(근데 전혀 다른 코드를 실행했다는 사실을 본인은 전혀 모르고 있습니다...)

그러니깐 copy가능한 예제코드와 실행코드를 이미 첨부했다 하더라도 스샷에도 다시 첨부해 주세요.

질문자가 정확히 실행하였음을 확인하기 위한 용도입니다.

다시금 말씀드리지만 예제 코드, 실습한코드, 나의 실습결과 이 세가지가 반드시 포함되어야 합니다.

 

 

6. 원하는 결과를 그림이나 표로 첨부해 설명해 주세요

 

자 마지막으로 여러분이 원한는 결과물을 설명하셔야 합니다. 어떻게 설명하면 좋을까요?

코딩으로 데이터를 다루는 것에 실패하게 만드는 가장 나쁜 습관은 데이터를 말이나 글로만 설명하는 것입니다.

테이터를 말이나 글로만 설명하면 대부분의 경우 명확하지 않으며 질문자 본인만 이해할 수 있는 설명이 됩니다.

그래서 내가 데이터에 대해서 말로 설명하면 아무것도 해결되지 않고, 문제가 해결되지 않으니 코딩을 지속하기 어렵습니다

여러분은 지금 문제해결능력을 배양하기 위해 명확한 질문을 하는 훈련을 하는 것입니다

더이상 데이터는 말로만 설명해서는 안됩니다. 

여러분이 예제코드에 코드를 적용해 바라는 결과물을 스샷으로 첨부해 설명해주세요.

대부분은 귀찮음을 못이겨 데이터를 말로 설명하려는데 그러면 본인이 문제 해결능력이 배양될 수 없습니다.

어차피 코딩은 문제가 지속적으로 발생하는 것이고 지금 본인이 당면한 문제 한 두가지 해결되는 것은 크게 중요하지 않습니다.

문제해결능력을 배양하는 것이 훨씬 중요합니다.

 

여러분이 바라는 결과가 강의와 똑같이 되는 것이라면 강의의 스샷을 찍어주세요.

여러분이 생각하시는 결과가 따로 있다면 엑셀에서 표로 그려서 스샷을 찍어 첨부해주세요.

 

 

예) 예제 df를 '선택'열을 기준으로 정렬하는데 일어를 불어보다 위에 놓도록 정렬하고 싶습니다

스샷이 부담스러우시다면 텍스트로 아래와 같은 표로 만들어 주셔도 괜찮습니다

 

반    선택
A	일어
A	일어
B	일어
B	일어
B	불어
A	불어
A	불어
A	불어

 

 

 

 

 

자 이 모든 것이 끝나셨다면 pandakimt@gmail.com 으로 위 여섯가지 내용을 첨부해서 메일을 보내주시면 됩니다!

그러면 여러분의 문제가 해결될 뿐 아니라 여러분이 향후 코딩을 하기 위해서 가장 중요한 문제해결 능력을 기를 수 있는 질문 훈련도 함께 하게 되시는 겁니다!

현재 이 시점에서 조금 번거로워 보일지라도 가장 빠르게 실력을 쌓는 지름길입니다!

아래 질문 예시를 그대로 복사하시고, 여러분에게 맞게 내용을 고쳐 저에게 메일을 보내주세요


 

질문 예시

 

1. 먼저 질문을 AI에게 해보시고 답변을 첨부해 주세요(스샷으로 첨부 하셔도 됩니다)

대부분 여기서 문제가 해결되시고, 해결되지 않으셨다해도 저에게 첨부한 질문을 통해 AI에게 질문하는 방법도 첨삭받으실 수 있으니 꼭 첨부해 주세요!

만약 1번에서 문제가 해결되셨다면 더이상 질문을 하시지 않아도 괜찮습니다!

 

 

예)

 

 

 

2. 사용하는 코딩 프로그램과 판다스 버전을 알려주세요.

(주피터 노트북이나 코랩이 아니시라면 질문을 하시기 보다는 먼저 주피터 노트북이나 코랩으로 코드를 실행해보세요!)

예)

주피터 노트북을 사용중이고 판다스 버전은 1.5.3입니다

 

 

3. 예제 코드를 반드시 텍스트로 포함해 주세요

예)

import pandas as pd
data1 = {'반': ['A', 'B', 'A', 'B', 'A', 'B', 'A', 'A'], 
         '선택': ['일어', '불어', '일어', '일어', '불어', '일어', '불어', '불어']}
df = pd.DataFrame(data1)

 

 

4. 본인이 실습한 코드를 텍스트로 첨부해주세요

예)

df.sort_values('선택')

 

 

5. 본인이 실행한 코드와 결과를 스샷으로 첨부해 주세요.(예제코드를 위에 첨부했다 하더라도 스샷에도 다시 첨부해 주세요)

예)

 

 

6. 원하는 결과를 그림이나 표로 첨부해 설명해 주세요 (데이터에 대한 설명을 말로하면 대부분 명확하지 않으니 그림이나 표와 함께 설명해 주세요!)

 

예)

일어를 불어보다 위에 정렬하고 싶습니다

 

혹은 텍스트로 만든 표를 첨부하셔도 괜찮습니다

 

반    선택
A	일어
A	일어
B	일어
B	일어
B	불어
A	불어
A	불어
A	불어

 

 

 

 

 

위 질문 예시를 복사하시고,  내용을 본인에게 맞추어 수정하신 뒤  pandakimt@gmail.com로 메일을 보내주시면 됩니다!

다시금 말씀드리지만 현재 이 시점에서 조금 번거로워 보일지라도 가장 빠르게 실력을 쌓는 지름길이니 꼭 안내에 따라주세요!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

유튜브에서 판다스 강의 중입니다

 

https://www.youtube.com/@KimPandas