नफा:
- मजबूत एसक्यूएल आणि पांडा कोड घेण्याची क्षमता आणि आर्टिफिशियल इंटेलिजन्सला स्पष्ट स्कीमा आणि उद्देश देऊन ते ओळीने वाचण्याची आणि सत्यापित करण्याची क्षमता
- विलीन/सामील झाल्यानंतर पंक्ती संख्या, फिटिंग फंक्शन आणि थ्रूपुट यासारख्या मूक त्रुटी पकडण्याची क्षमता
- डीबगमधील समस्या शांत न करता सोडवण्याची क्षमता आणि उत्पादन वातावरणात त्याची चाचणी न करता कोड चालवणे टाळा
डेटा सायन्समध्ये दोन प्राथमिक भाषा आहेत: एसक्यूएल (स्ट्रक्चर्ड क्वेरी लँग्वेज — डेटाबेसमधून डेटा क्वेरी करण्यासाठीची भाषा) आणि पायथन (विशेषतः, पांडा लायब्ररी — टेबल्स प्रोग्रामॅटिक पद्धतीने हाताळण्यासाठी मानक साधन). या युनिटमध्ये, आम्ही कोड भागीदार म्हणून AI वापरण्यास शिकू: योग्य प्रश्नांसह ठोस SQL आणि पांडा कोड मिळवणे, तो कोड वाचणे आणि त्याचे प्रमाणीकरण करणे, तो डीबग करणे आणि तो कधीही आंधळेपणाने चालवू नका. AI मिनिटांऐवजी सेकंदात पुनरावृत्ती कोड लिहिते; परंतु तो तयार करणारा कोड योग्य तर्कासह योग्य स्तंभावर प्रक्रिया करतो याची खात्री करणे हे तुमचे काम आहे. वर्किंग कोडचा अर्थ योग्य कोड नाही.
AI सह कोड तयार करणे शक्तिशाली परंतु धोकादायक का आहे
AI कोड जनरेशनमध्ये तीन मोठे फायदे प्रदान करते: गती (सेकंदात 30-लाइन ग्रुपबाय-पिव्होट ऑपरेशन लिहिते), रिमाइंडर (तुम्ही विसरलेल्या पांडा फंक्शनची आठवण करून देते), आणि शिकवणे (कोड लाइन ओळीनुसार स्पष्ट करते). परंतु यात तीन धोके आहेत: सायलेंट लॉजिक एरर (कोड जो चुकीच्या कॉलमची बेरीज करतो त्रुटींशिवाय चालतो), फिट फंक्शन (अस्तित्वात नसलेली पद्धत सुचवतो), आणि यिल्ड ट्रॅप (कोड जो लहान डेटावर काम करतो परंतु 10 दशलक्ष पंक्तींवर क्रॅश होतो). तर सुवर्ण नियम: AI चा कोड वाचा जसे की तुम्ही ते स्वतः लिहिले आहे. तुम्हाला समजत नसलेली ओळ चालवू नका.
एसक्यूएल: स्त्रोतावर डेटा प्रक्रिया करा
SQL तुम्हाला डेटाबेसमधून डेटा पुनर्प्राप्त करण्याची आणि त्यावर प्रक्रिया करण्याची परवानगी देते; आपण लाखो ओळींना पायथनमध्ये न ओढता सारांशित करू शकता. मूलभूत बिल्डिंग ब्लॉक्स: SELECT (कोणते स्तंभ), WHERE (कोणत्या पंक्ती), GROUP BY (गट आणि सारांश), जॉइन (टेबलमध्ये सामील व्हा), HAVING (पोस्ट-ग्रुप फिल्टर). जटिल JOIN आणि विंडो फंक्शन्स लिहिण्यासाठी AI खूप उपयुक्त आहे, परंतु दोन गोष्टी तपासण्याची खात्री करा: योग्य की (चुकीची की डुप्लिकेट पंक्ती) द्वारे सामील होणे आणि फिल्टर तर्क योग्य आहे (विशेषतः NULL वर्तन आणि तारीख श्रेणी).
खबरदारी: एआय-व्युत्पन्न SQL क्वेरी थेट उत्पादन डेटाबेसच्या विरूद्ध चालवू नका. प्रथम एक लहान प्रत किंवा LIMIT सह चाचणी करा. WHERE अट सत्यापित केल्याशिवाय अद्यतन/हटवा क्वेरी कधीही चालवू नका; चुकीचे WHERE संपूर्ण टेबल हटवू शकते.
पायथन/पांडा: लवचिक विश्लेषण
pandas हा Python मध्ये टेबल्स (डेटाफ्रेम) हाताळण्याचा मानक मार्ग आहे. AI चा सर्वात कार्यक्षम वापर म्हणजे त्याला एक स्पष्ट योजना आणि उद्देश देणे. सर्वाधिक वापरलेली ऑपरेशन्स: फिल्टर, ग्रुपबाय, मर्ज, पिव्होट_टेबल, लागू करा. AI हे पटकन लिहिते; तुम्हाला काय तपासायचे आहे ते तर्क आहे: योग्य स्तंभातील गटबद्धता, विलीनीकरणामुळे पंक्तींची संख्या अनपेक्षितपणे बदलली आहे का (नेहमी विलीन झाल्यानंतर पंक्तींची संख्या तपासा), चेन ऑपरेशन्स मूळ बदलत आहेत.
व्यवहार
SQL
पांडा
चेकपॉईंट
फिल्टरिंग
कुठे
df[df.x > 5]
NULL/NaN वर्तन
गटबाजी
गट करून
df.groupby()
तो योग्य स्तंभ आहे का?
विलीन करणे
सामील व्हा
df.merge()
पंक्ती संख्या बदल
सारांश
AVG(), SUM()
.mean(), .sum()
कोणता स्तंभ गोळा केला होता
यानुसार क्रमवारी लावा
ऑर्डर करा
.sort_values()
दिशा (चढते/उतरते)
डुप्लिकेशन
DISTINCT
.drop_duplicates()
कोणत्या स्तंभात?
डीबगिंग: AI सह
जेव्हा कोड अयशस्वी होतो, तेव्हा AI एक उत्कृष्ट डीबगिंग भागीदार आहे. त्याला संपूर्ण त्रुटी संदेश आणि संबंधित कोड स्निपेट द्या. पण दोन सापळ्यांपासून सावध रहा. प्रथम, एआय एक उपाय सुचवू शकते जे त्रुटी "शांत" करते (उदा. अलर्ट लपवणे) - यामुळे त्रुटी दूर होत नाही, ती लपवते. दुसरे, एआय कधीकधी समस्या "निराकरण" करताना शांतपणे दुसरे वर्तन बदलते. नियम: निराकरण समजून घ्या, निःशब्द न करण्याचे निराकरण करा आणि निराकरणानंतरही आउटपुट योग्य असल्याचे सत्यापित करा.
व्याख्या करण्यायोग्य आणि देखभाल करण्यायोग्य कोड हवा आहे
AI वरून कोड विकत घेताना, वाचता येण्याजोगा आणि देखरेख करण्यायोग्य कोड विचारा, फक्त "काम करणारा" कोड नाही. जेव्हा तुम्ही किंवा सहकारी काही महिन्यांनंतर कोड उघडता तेव्हा ते काय करते हे समजण्यास सक्षम असावे. हे करण्यासाठी, AI मध्ये तीन गोष्टींचा समावेश करण्याची सवय लावा: अर्थपूर्ण व्हेरिएबल नावे (orders_temiz, df2 नाही), गंभीर टप्प्यांवर लहान टिप्पणी ओळी (काय केले जात आहे हे स्पष्ट करणे), आणि जादूच्या संख्येऐवजी नामित स्थिरांक (ACCEPT_ESIGI = 0.85 ऐवजी eduri b the code). तसेच लांब सिंगल-लाइन चेन टाळा (एका ओळीत पाच क्रिया जोडणे); हे डीबग करणे कठीण करतात. डीफॉल्टनुसार, एआय अनेकदा संक्षिप्त आणि "स्मार्ट" कोड तयार करते; जर तुम्ही स्पष्टपणे "वाचण्यायोग्य, व्याख्या करण्यायोग्य, देखरेख करण्यायोग्य लिहा" असे म्हटले तर तुम्हाला अधिक देखरेख करण्यायोग्य आउटपुट मिळेल. हा देखील पुनरुत्पादनक्षमतेचा आधार आहे (युनिट 10): न समजलेला कोड हा कोड आहे जो सुरक्षितपणे पुन्हा चालवला जाऊ शकत नाही.
तीन लहान प्रकरणे
केस 1 - प्रतिकृतीमध्ये सामील व्हा. एका विश्लेषकाने उत्पादन सारणीसह ऑर्डर एकत्र केले आणि एकूण उलाढाल 3 पट जास्त असल्याचे आढळले. कारण: उत्पादन सारणीमध्ये प्रत्येक उत्पादनाच्या अनेक पंक्ती (वेगवेगळ्या रंग) होत्या; प्रत्येक ऑर्डरची डुप्लिकेट केलेली सामील व्हा. एआयचा कोड "कार्यरत" होता, परंतु ओळींची संख्या 240 हजारांवरून 690 हजारांवर गेली होती. धडा: मर्ज/जॉइन केल्यानंतर नेहमी ओळींची संख्या तपासा.
केस 2 - फिटिंग फंक्शन. त्याने एका इंटर्नला AI df.groupby('x').summarize() सुचवले; पांडांमध्ये अशी कोणतीही पद्धत नाही (तेथे .agg() आहे). कोड काम करत नाही, इंटर्न 20 मिनिटांसाठी हरवला होता. धडा: डॉक वरून तुम्ही ओळखत नसलेल्या फंक्शनची पडताळणी करा; AI पद्धती बनवू शकतात.
केस 3 - उत्पन्न कमी होणे. प्रत्येक पंक्तीसाठी अर्जामध्ये एक कोड डेटाबेसची चौकशी करत होता; ते 5,000 ओळींवर धावले, 4 दशलक्ष ओळींवर 9 तास लागले आणि थांबले. जेव्हा AI ने व्हेक्टराइज्ड (बॅच) उपाय सुचवला, तेव्हा वेळ 40 सेकंदांपर्यंत कमी करण्यात आला. धडा: लहान डेटावर कार्य करणारा कोड मोठ्या डेटावर क्रॅश होऊ शकतो; कार्यक्षमतेचा विचार करा.
चार कॉपी करण्यायोग्य टेम्पलेट्स
1) स्कीमासह SQL ची विनंती करणे:
तुमची भूमिका: SQL सहाय्यक (PostgreSQL). सारण्या:- ऑर्डर (आयडी, ग्राहक_आयडी, तारीख टाइमस्टॅम्प, रक्कम संख्यात्मक)- ग्राहक (आयडी, शहर मजकूर) कार्य: 2024 मध्ये एकूण उलाढाल आणि प्रति शहर ऑर्डरची संख्या मिळवा, उतरत्या क्रमाने उलाढालीनुसार क्रमवारी लावा. तुम्ही NULL शहरे कशी हाताळता ते स्पष्ट करा. मी प्रथम LIMIT सह क्वेरीची चाचणी घेईन; जनरेशन अपडेट/हटवा.
२) चेकपॉईंटसह पांडा प्रक्रिया:
माझ्याकडे DataFrames df (ऑर्डर्स) आणि df_customers (ग्राहक) आहेत. प्रति शहर सरासरी रक्कम मोजा. महत्त्वाचे: विलीन होण्यापूर्वी आणि नंतरच्या पंक्तींची संख्या मुद्रित करा जेणेकरून मी डुप्लिकेशन आहे का ते पाहू शकेन. तुम्ही कोणत्या स्तंभात विलीन केले आणि तुम्ही आतील/डावीकडे का निवडले ते स्पष्ट करा.
3) कोडचे स्पष्टीकरण आणि पडताळणी:
खालील पांडा कोड ओळ ओळीनुसार समजावून सांगा: प्रत्येक ओळ काय करते, ते कोणते गृहितक बनवते, कोणत्या प्रकरणांमध्ये ते चुकीचे परिणाम देऊ शकते? मी फज फंक्शन वापरले असल्यास मला कळवा. कोड: [पेस्ट]
4) डीबगिंग:
हा कोड ही त्रुटी देतो. पूर्ण त्रुटी संदेश: [पेस्ट]. कोड: [पेस्ट]. त्रुटीचे मूळ कारण स्पष्ट करा आणि त्याचे निराकरण करा. ॲलर्ट शांत करून नव्हे तर समस्येचे निराकरण करून त्याचे निराकरण करा. फिक्सने आउटपुट बदलला की नाही हे देखील सूचित करा.
कमकुवत प्रॉम्प्ट / मजबूत प्रॉम्प्ट
कमकुवत प्रॉम्प्ट:
मला प्रति शहर विक्री देणारी क्वेरी लिहा.
टेबलची नावे, स्तंभ, डेटाबेस प्रकार, NULL वर्तन अस्पष्ट आहे. एआय सामान्य आहे, ते कदाचित आपल्या टेबलमध्ये बसत नसलेली क्वेरी तयार करेल.
शक्तिशाली सूचना:
तुमची भूमिका: SQL सहाय्यक (MySQL 8). तक्ता: विक्री (आयडी, शहर वर्ण, रक्कम दशांश, तारीख तारीख). कार्य: वर्ष 2024 साठी एकूण आणि सरासरी रक्कम, प्रति शहर ऑर्डरची संख्या मिळवा; एकूण रकमेनुसार क्रमवारी कमी करणे; फक्त 100 पेक्षा जास्त ऑर्डर असलेली शहरे दाखवा (HAVING).NULL वगळून शहर. प्रश्न स्पष्ट करा; मी LIMIT सह चाचणी करेन.
येथे डेटाबेस, स्कीमा, फिल्टर, सॉर्टिंग आणि NULL नियम स्पष्ट आहेत.
सामान्य चुका
- कोड न वाचता चालत आहे. कार्य कोड योग्य कोड नाही; चुकीच्या कॉलममध्ये फेरफार करणारा कोड देखील त्रुटींशिवाय चालतो.
- मर्ज/जॉइन केल्यानंतर पंक्तींची संख्या तपासत नाही. चुकीची की शांतपणे पंक्ती डुप्लिकेट करते आणि बेरीज वाढवते.
- फिटिंग फंक्शनची पडताळणी करत नाही. AI अस्तित्वात नसलेल्या पद्धती सुचवू शकते; दस्तऐवजावरून पुष्टी करा की तुम्ही ते ओळखत नाही.
- कार्यक्षमतेचा विचार करत नाही. लाखो पंक्तींवर लहान डेटा क्रॅशवर कार्य लागू करा/लूप करा; वेक्टरीकरण
- उत्पादन डेटाबेसवर थेट चालवा. विशेषत: WHERE किंवा चाचणीशिवाय UPDATE/DELETE चालवणे विनाशकारी आहे.
टीप: तुम्हाला AI कडून प्राप्त होणाऱ्या कोडच्या प्रत्येक तुकड्यात "प्रमाणीकरण लाइन" जोडण्याची सवय लावा: ओळींची पूर्व आणि प्रक्रिया केल्यानंतरची संख्या, काही नमुना ओळी आणि हाताने एक गंभीर एकूण. या तीन तपासण्यांमध्ये सर्वात मूक लॉजिक त्रुटी आढळतात.
सारांशात
AI हा एक शक्तिशाली भागीदार आहे जो त्वरीत SQL आणि pandas कोड तयार करतो, परंतु तो अंध प्राधिकरण नाही. त्याला योजना आणि उद्देश स्पष्टपणे द्या; तो तयार केलेला कोड वाचा जणू तुम्ही तो स्वतः लिहिला आहे; मर्ज/जॉइन केल्यानंतर पंक्तींची संख्या, फिटिंग फंक्शन्स आणि थ्रूपुट तपासा; उत्पादन डेटाबेसवर चाचणी केल्याशिवाय ते चालवू नका. डीबग करताना, समस्येचे निराकरण करण्याचे लक्ष्य ठेवा, ते शांत करू नका. कार्य करणारा कोड योग्य कोड नाही; केवळ आपण अचूकतेची हमी देऊ शकता.
अर्ज कार्य
विश्लेषण प्रश्न निवडा (उदा. “प्रति चॅनेल मासिक उलाढाल”) आणि AI कडून SQL आणि pandas दोन्हीसह कोडची विनंती करा. दोन्ही कोड ओळ ओळीने वाचा, विलीन/सामील झाल्यानंतर ओळींची संख्या तपासा आणि किमान एक गंभीर रक्कम व्यक्तिचलितपणे सत्यापित करा. दोन कोड समान परिणाम देतात की नाही याची तुलना करा; वेगळे असल्यास, का ते शोधा.
चेकलिस्ट
- [ ] मी AI ला टेबल/स्कीमा आणि उद्देश स्पष्टपणे दिला आहे का?
- [ ] मी ओळीने तयार केलेला कोड वाचला आणि समजला का?
- विलीन/सामील झाल्यानंतर मी ओळींची संख्या तपासली आहे का?
- [ ] मी दस्तऐवजीकरणातून ओळखत नसलेली कार्ये सत्यापित केली आहेत का?
- [ ] मी कोडची प्रथम सुरक्षित/लहान डेटावर चाचणी केली आहे आणि उत्पादन वातावरणात नाही?