المزيد من مقالات التعلم العميق......المزيد من مقالات المعالجة اللغوية الطبيعية.....مقالات التعلم العميقمقالات المعالجة اللغوية الطبيعية

تحليل البيانات باستخدام ChatGPT و Jupyter Notebooks

اقرأ في هذا المقال
  • توليد كود Jupyter مع ChatGPT
  • البداية مع Jupyter Notebooks
  • الذاكرة وإعادة التوليد
  • ماذا تعلمنا؟

تعمل طريقة المحادثة لإنشاء التعليمات البرمجية باستخدام ChatGPT بشكل جيد مع بُنية الخلية الخاصة بـ Jupyter Notebooks

هل الذكاء الاصطناعي هو مستقبل تحليل البيانات؟ سأضع رأسي فوق الحاجز، وألصق رقبتي، وأخرج على أحد الأطراف، وأقول: “حسنًا، ربما”.

يمكنك بلا شك استخدام الذكاء الاصطناعي لأداء إنشاء كود بسيط نسبيًا ويمكن أن يوفر لك ذلك الكثير من الوقت والجهد عند أداء مهام عادية إلى حد ما.

ما إذا كان يذهب إلى أبعد من ذلك بكثير أمر قابل للنقاش. لأنه، بعد كل شيء، فإن مهارات البرمجة التي تعلمها الذكاء الاصطناعي تنشأ من المبرمجين البشريين الذين يكتبون كودًا جديدًا. إذا كنا نعتمد كليًا على الذكاء الاصطناعي للقيام بالبرمجة، فمن أين ستتعلم مهارات جديدة؟

توليد كود Jupyter مع ChatGPT

هناك سير عمل طبيعي عند استخدام ChatGPT مع Jupyter Notebooks مما يجعل إنشاء كود لـ Jupyter Notebook باستخدام ChatGPT أمرًا يسيرًا ومرضيًا بشكل مدهش.

يتكون Notebook من خلايا يميل كل منها إلى أداء مهمة واحدة. وهذا يعين بشكل جيد الطريقة التي تتحدث بها إلى ChatGPT. قد تقول “اكتب دالة لفرز مصفوفة من السلاسل write a function to sort an array of strings “، أو “ابحث عن القيمة القصوى لكل عمود في إطار البيانات Find the maximum value of each column of a dataframe ” وستتوافق النتائج بشكل جيد في خلية Jupyter واحدة. يمكنك فقط القص واللصق من واحد إلى الآخر.

سأقوم بإرشادك خلال جلسة ChatGPT حيث طلبت منها إنشاء أجزاء مختلفة من التعليمات البرمجية لإجراء مهمة تحليل بيانات بسيطة: تحميل ملف CSV، والقيام ببعض التلاعب بالبيانات ثم إنشاء بعض المخططات باستخدام Matplotlib و Plotly .

في النص أدناه، النص المكتوب بالخط العريض هو الطلبات التي قدمتها إلى ChatGPT ، ويتم إنشاء الكود (ما لم تتم الإشارة إلى خلاف ذلك) بواسطة ChatGPT ، والنص المكتوب بخط مائل هو استجابة ChatGPT إضافية والتي تشرح الكود بشكل عام أو تقدم اقتراحات (بعض من تم تحريرها للإيجاز).

يتم إنشاء جميع صور المخطط بواسطتي من الكود التي تم إنشاؤه.

البداية مع Jupyter Notebooks

كانت تعليماتي الأولى إلى ChatGPT هي:

Me: We are going to write a data analysis program using pandas and Matplotlib in a Jupyter notebook. Write the first cell.

أنا: سنقوم بكتابة برنامج تحليل البيانات باستخدام pandas وMatplotlib في . Jupyter notebook اكتب الخلية الأولى.

استجاب ChatGPT بالكود أدناه والتعليق بالخط المائل الذي يليه.

# Import necessary libraries
import pandas as pd
import matplotlib.pyplot as plt

# Enable inline plotting in Jupyter notebook
%matplotlib inline

ChatGPT: This first cell imports the pandas and matplotlib libraries and sets up inline plotting in the Jupyter notebook. The pd alias is used for pandas and plt is used for matplotlib.

ChatGPT: تستورد هذه الخلية الأولى مكتبات pandas و matplotlib وتقوم بإعداد التخطيط المضمن في دفتر Jupyter. يستخدم الاسم المستعار pd للـ pandas بينما يستخدم plt في matplotlib.

يوجد زر لنسخ الكود في إطار الكود، لذلك من السهل نسخه ولصقه في خلية دفتر ملاحظات Jupyter. عملت مع المستعرض الذي يشغل جلسة ChatGPT في نافذة جنبًا إلى جنب مع نافذة VSCode تشغل الكمبيوتر المحمول، لذا كان الانتقال من واحد إلى الآخر أمرًا بسيطًا للغاية.

هذا هو الإعداد الخاص بي – يقوم VSCode بتشغيل الكمبيوتر المحمول على اليسار و Chrome يقوم بتشغيل ChatGPT على اليمين

هذا هو الإعداد الخاص بي – يقوم VSCode بتشغيل الكمبيوتر المحمول على اليسار و Chrome يقوم بتشغيل ChatGPT على اليمين

بعد ذلك، أريد تحميل ملف CSV وإنشاء إطار بيانات وأدرك أن أوامري يمكن أن تكون موجزة للغاية ، لذلك أقول:

Me: Open https://github.com/alanjones2/dataviz/raw/master/london2018.csv as a dataframe

# Import data from csv file
data = pd.read_csv("https://github.com/alanjones2/dataviz/raw/master/london2018.csv")

ChatGPT: This cell uses the pd.read_csv() function to import the csv file from the provided url and load it into a pandas dataframe called “data”. The pd.read_csv() function is used to read and import csv files into pandas dataframe. You can also use the following code snippet to load the csv file.

ChatGPT: تستخدم هذه الخلية الدالة pd.read_csv () لاستيراد ملف csv من عنوان url المتوفر وتحميله في إطار بيانات pandas يسمى “data”. تُستخدم الدالة pd.read_csv () لقراءة ملفات csv واستيرادها إلى إطار بيانات الباندا. يمكنك أيضًا استخدام مقتطف الكود التالي لتحميل ملف csv.

import requests
url = "https://github.com/alanjones2/dataviz/raw/master/london2018.csv"
data = pd.read_csv(url)

يستخدم مقتطف الكود هذا مكتبة الطلبات للحصول على محتوى الملف ودالة pd.read_csv() لاستيراد محتوى الملف إلى إطار بيانات الباندا.

في الواقع، هذا ليس صحيحًا: ChatGPT ليس معصومًا عن الخطأ.

لا يستخدم مقتطف الكود هذا مكتبة requests، بل يستخدم فقط متغيرًا كوسيطة لدالة القراءة. هذا خطأ تافه والكود لا تزال تعمل بالطبع. لكنه يوضح أننا بحاجة إلى توخي الحذر ومراقبة ما يفعله ChatGPT. سنرى أمثلة أخرى للأخطاء لاحقًا.

أريد الآن رؤية إطار البيانات.

Me: Show the data

# Show the data
data

ChatGPT: This cell uses the data dataframe and shows the dataframe content by just calling it on the last line of the cell. This will print the dataframe on the notebook output and shows the data in tabular format. You can also use the following code snippet to display the first few records of the dataframe.

ChatGPT: تستخدم هذه الخلية إطار البيانات وتعرض محتوى إطار البيانات بمجرد استدعائها في السطر الأخير من الخلية. سيؤدي ذلك إلى طباعة إطار البيانات على إخراج النوتبوك وإظهار البيانات بتنسيق جدولي. يمكنك أيضًا استخدام مقتطف الكود التالي لعرض السجلات القليلة الأولى لإطار البيانات.

data.head()

This will display the first 5 records of the dataframe by default, but you can also pass a number as an argument to display that many records, e.g. data.head(10) will display the first 10 records of the dataframe.

سيعرض هذا أول 5 سجلات لإطار البيانات افتراضيًا، ولكن يمكنك أيضًا تمرير رقم كوسيطة لعرض العديد من السجلات، على سبيل المثال سيعرض data.head(10) أول 10 سجلات لإطار البيانات.

إذا قمت بتشغيل أول كتلة كود، فسأحصل على هذا.

إنه جدول لقراءات الطقس الشهرية من 2018: درجة الحرارة القصوى. أدنى درجة حرارة، هطول الأمطار بالمليمترات وعدد ساعات الشمس.

سأطلب منه إنشاء عمود جديد بمتوسط درجة الحرارة. يجب أن يسمى العمود Tmean.

Me: Create a new column in the dataframe called Tmean which is the average of the columns Tmax and Tmin

Me: إنشاء عمود جديد في dataframe يسمى Tmean وهو متوسط العمودين Tmax و Tmin

# Create a new column 'Tmean' as the average of 'Tmax' and 'Tmin'
data['Tmean'] = (data['Tmax'] + data['Tmin']) / 2

This cell creates a new column called ‘Tmean’ in the data dataframe by taking the average of the ‘Tmax’ and ‘Tmin’ columns. It uses the syntax data[‘Tmean’] to create a new column in the dataframe, and uses data[‘Tmax’] + data[‘Tmin’] to calculate the mean of the Tmax and Tmin columns. The mean is then assigned to the new column ‘Tmean’.

تنشئ هذه الخلية عمودًا جديدًا يسمى “Tmean” في إطار البيانات بأخذ متوسط عمودي “Tmax” و “Tmin”. يستخدم بيانات بناء الجملة [“Tmean”] لإنشاء عمود جديد في إطار البيانات، ويستخدم البيانات [“Tmax”] + البيانات [“Tmin”] لحساب متوسط أعمدة Tmax و Tmin. ثم يتم تعيين المتوسط للعمود الجديد “Tmean”.

Note that for this to work, the Tmax and Tmin columns should be numerical and not contain any missing values. If there are any missing values in the Tmax and Tmin columns, you should handle them before calculating Tmean.

لاحظ أنه لكي يعمل هذا، يجب أن يكون العمودان Tmax و Tmin عددًا ولا يحتويان على أي قيم مفقودة. إذا كانت هناك أي قيم مفقودة في أعمدة Tmax و Tmin ، فيجب عليك التعامل معها قبل حساب Tmean.

يبدو هذا جيدًا ولكن التعليقات أصبحت أكثر تفصيلاً الآن بعد أن أطلب منها القيام بعمل أكثر تعقيدًا قليلاً.

دعونا نرسم مخططًا.

Me: Draw a line chart of Tmean over Month

أنا: ارسم مخططًا خطيًا لـ Tmean على مدار الشهر.

# Draw a line chart of Tmean over Month
data.plot(x='Month', y='Tmean', kind='line')
plt.show()

ChatGPT: This cell uses the data dataframe to create a line chart of the ‘Tmean’ column over the ‘Month’ column. The plot() function is used, with the x parameter set to ‘Month’ and the y parameter set to ‘Tmean’. The kind parameter is set to ‘line’ to create a line chart. The plt.show() function is used to display the chart.

ChatGPT : تستخدم هذه الخلية إطار البيانات لإنشاء مخطط خطي لعمود “Tmean” فوق عمود “Month”. يتم استخدام الدالة plot () ، مع تعيين المعلمة x على “Month” وتعيين المعلمة y على “Tmean”. يتم تعيين معلمة النوع على “line” لإنشاء مخطط خطي. تُستخدم دالة plt.show () لعرض الرسم البياني.

Note that the ‘Month’ column should be in datetime format to properly show the line chart. If the ‘Month’ column is not in datetime format, you should convert it to datetime before creating the line chart.

لاحظ أن عمود ” Month” يجب أن يكون بتنسيق التاريخ والوقت لإظهار المخطط الخطي بشكل صحيح. إذا لم يكن عمود “Month” بتنسيق datetime، فيجب عليك تحويله إلى datetime قبل إنشاء المخطط الخطي.

لقد أخبرته عن طريقة الرسم البياني التي يجب استخدامها واختارت دالة الرسم من Pandas. ها هي النتيجة:

لكن لديه اقتراح آخر:

ChatGPT: You can also use the following code snippet to draw a line chart of Tmean over Month:

ChatGPT: يمكنك أيضًا استخدام مقتطف الكود التالي لرسم مخطط خطي لـ Tmean على مدار الشهر:

plt.plot(data['Month'], data['Tmean'])
plt.xlabel('Month')
plt.ylabel('Tmean')
plt.show()

This code snippet uses the plt.plot() function to draw the line chart, and it uses the plt.xlabel() and plt.ylabel() functions to add labels to the x-axis and y-axis of the chart, respectively. The plt.show() function is used to display the chart.

يستخدم مقتطف الكود هذا الدالة  plt.plot() لرسم المخطط الخطي ، ويستخدم الدالتين plt.xlabel() و plt.ylabel() لإضافة تسميات إلى المحور السيني والمحور الصادي للمخطط ، على التوالي . تُستخدم دالة plt.show() لعرض الرسم البياني.

هذه المرة استخدمت Matplotlib لرسم المخطط وكانت النتيجة متطابقة تقريبًا:

الآن أريد مخططًا يرسم كل درجات الحرارة معًا.

Me: draw a line chart that includes lines for Tmin, Tmean and Tmax

يختار ChatGPT استخدام رسم الباندا مرة أخرى – وهذا هو الحل الأبسط.

# Draw a line chart of Tmin, Tmean, and Tmax over Month
data.plot(x='Month', y=['Tmin','Tmean','Tmax'], kind='line')
plt.show()

ChatGPT: This cell uses the data dataframe to create a line chart of the ‘Tmin’,’Tmean’ and ‘Tmax’ columns over the ‘Month’ column. The plot() function is used, with the x parameter set to ‘Month’ and the y parameter set to [‘Tmin’,’Tmean’,’Tmax’]. The kind parameter is set to ‘line’ to create a line chart. The plt.show() function is used to display the chart.

ChatGPT : تستخدم هذه الخلية إطار البيانات لإنشاء مخطط خطي لأعمدة “Tmin” و “Tmean” و “Tmax” فوق عمود “Month”. يتم استخدام الدالة plot()  ، مع تعيين المعلمة x على ” Month” وتعيين المعلمة y على  [‘Tmin’,’Tmean’,’Tmax’]،. يتم تعيين معلمة kind  على “line ” لإنشاء مخطط خطي. تُستخدم دالة plt.show () لعرض الرسم البياني.

Note that the ‘Month’ column should be in datetime format to properly show the line chart. If the ‘Month’ column is not in datetime format, you should convert it to datetime before creating the line chart.

لاحظ أن عمود ” Month” يجب أن يكون بتنسيق datetime  لإظهار المخطط الخطي بشكل صحيح. إذا لم يكن عمود “Month ” بتنسيق datetime ، فيجب عليك تحويله إلى datetime قبل إنشاء المخطط الخطي.

You can also use the following code snippet to draw a line chart that includes lines for Tmin, Tmean, and Tmax over Month:

يمكنك أيضًا استخدام مقتطف الكود التالي لرسم مخطط خطي يتضمن خطوطًا لـ Tmin و Tmean و Tmax على مدار الشهر:

حسنًا، حسنًا ، لقد حصلنا على الصورة. سأختصر التعليق من الآن فصاعدًا لأنه بدأ يصبح مملاً.

هذا هو الرسم البياني:

نحن نتعامل أيضًا مع إصدار Matplotlib.

plt.plot(data['Month'], data['Tmin'],label='Tmin')
plt.plot(data['Month'], data['Tmean'],label='Tmean')
plt.plot(data['Month'], data['Tmax'],label='Tmax')
plt.xlabel('Month')
plt.ylabel('Temperature')
plt.legend()
plt.show()

This code snippet uses the plt.plot() function multiple times….

يستخدم مقتطف الكود هذا دالة plt.plot() عدة مرات….

الآن سأطلب شيئًا أكثر تعقيدًا بعض الشيء. أريد أن يتم رسم الخطوط الثلاثة مع المنطقة الواقعة بين Tmax و Tmin مظللة بحيث تبدو أشبه بنطاق.

Me: draw a similar chart with shading between Tmin and Tmax

أنا: ارسم مخططًا مشابهًا مع تظليل بين Tmin و Tmax

# Draw a line chart of Tmin, Tmean, and Tmax over Month with shading between Tmin and Tmax
plt.fill_between(data['Month'], data['Tmin'], data['Tmax'], color='gray', alpha=0.5)
plt.plot(data['Month'], data['Tmin'],label='Tmin')
plt.plot(data['Month'], data['Tmean'],label='Tmean')
plt.plot(data['Month'], data['Tmax'],label='Tmax')
plt.xlabel('Month')
plt.ylabel('Temperature')
plt.legend()
plt.show()

ChatGPT: This code snippet uses the plt.fill_between() function to add shading…

ChatGPT: يستخدم مقتطف الكود هذا الدالة plt.fill_between() لإضافة التظليل …

هذا ما طلبته ولكني أريد تعديل طلبي.

Me: draw the same chart with Tmin and Tmax lines the same colour as the shading and Tmean black

أنا: ارسم نفس الرسم البياني مع خطوط Tmin و Tmax بنفس لون التظليل و Tmeanأسود

لاحظ أنني لست بحاجة إلى تحديد هذا الرسم البياني مرة أخرى، يتذكر ChatGPT ما فعلته في هذه الجلسة حتى يعرف الرسم البياني الذي أعنيه.

# Draw a line chart of Tmin, Tmean, and Tmax over Month with Tmin and Tmax lines the same color as the shading and Tmean black
plt.fill_between(data['Month'], data['Tmin'], data['Tmax'], color='gray', alpha=0.5)
plt.plot(data['Month'], data['Tmin'],label='Tmin', color='gray')
plt.plot(data['Month'], data['Tmean'],label='Tmean', color='black')
plt.plot(data['Month'], data['Tmax'],label='Tmax', color='gray')
plt.xlabel('Month')
plt.ylabel('Temperature')
plt.legend()
plt.show()

ChatGPT: This code snippet is similar to the previous one but it uses the ‘color’ parameter…

ChatGPT: مقتطف الكود هذا مشابه للمقتطف السابق ولكنه يستخدم معلمة ” color” …

جيد جدا!

لنجرب رسمًا بيانيًا مختلفًا.

Me: draw a scatter diagram of Sun against Rain

# Draw a scatter diagram of Sun against Rain
plt.scatter(data['Sun'], data['Rain'])
plt.xlabel('Sun')
plt.ylabel('Rain')
plt.show()

ChatGPT: This code snippet uses the plt.scatter() function…

ChatGPT : يستخدم مقتطف الكود هذا دالة plt.scatter () …

هذا لا يختلف كثيرًا عن الرسوم البيانية السابقة ولكننا نفعل الآن شيئًا مختلفًا. نطلب منه إضافة خط انحدار خطي إلى الرسم البياني.

Me: add a trend line to the chart

أنا: أضف خط اتجاه إلى الرسم البياني

# Draw a scatter diagram of Sun against Rain with a trend line
plt.scatter(data['Sun'], data['Rain'])
plt.xlabel('Sun')
plt.ylabel('Rain')

# Add a trend line
z = np.polyfit(data['Sun'], data['Rain'], 1)
p = np.poly1d(z)
plt.plot(data['Sun'],p(data['Sun']),"r--")
plt.show()

ChatGPT: This code snippet uses the plt.scatter() function…

ChatGPT: يستخدم مقتطف الكود هذا دالة plt.scatter () …

ChatGPT: To add a trend line, a linear regression is performed…

ChatGPT : لإضافة خط اتجاه ، يتم إجراء انحدار خطي …

ChatGPT: …import numpy library before using the above code snippet import numpy as np

ChatGPT… : استيراد مكتبة numpy قبل استخدام مقتطف الكود أعلاه استيراد numpy كـ np

الغريب أنها لا تستورد مكتبة numpy المطلوبة في الكود ولكنها تذكرنا بالقيام بذلك في التعليقات.

الذاكرة وإعادة التوليد

كما رأينا ، يتذكر ChatGPT ما فعلناه بالفعل ، ولكن إذا حدث خطأ ما ، فيمكننا أن نطلب منه تجربة أخرى.

Me: draw the same chart with plotly

أنا: ارسم نفس الرسم البياني بـ plotly

# Import the plotly library
import plotly.express as px

# Draw a scatter diagram of Sun against Rain with a trend line using plotly
fig = px.scatter(data, x='Sun', y='Rain', trendline='ols')
fig.show()

ChatGPT :This code snippet uses the px.scatter() function from the plotly.express…

ChatGPT: يستخدم مقتطف الكود هذا دالة px.scatter()  من plotly.express…

مرة أخرى، لست بحاجة إلى تحديد الرسم البياني ، فهو يتذكر.

والآن إنجاز ذاكرة أكبر. سأطلب منه أن يتذكر الرسم البياني الخطي الأخير الذي أنشأه وأن يصنع نسخة Plotly.

Me: draw the last line chart in plotly

أنا: ارسم المخطط الخطي الأخير بـ plotly

# Import the plotly library
import plotly.graph_objs as go

# Draw a line chart of Tmin, Tmean, and Tmax over Month with shading between Tmin and Tmax in plotly
trace1 = go.Scatter(x=data['Month'], y=data['Tmin'],mode='lines', name='Tmin')
trace2 = go.Scatter(x=data['Month'], y=data['Tmean'],mode='lines', name='Tmean')
trace3 = go.Scatter(x=data['Month'], y=data['Tmax'],mode='lines', name='Tmax')
fig = go.Figure(data=[trace1, trace2, trace3])
fig.update_layout(shapes=[dict(type='rect',
                              xref='x', yref='paper',
                              x0=data['Month'].min(), y0=0,
                              x1=data['Month'].max(), y1=1,
                              fillcolor='gray', opacity=0.5,
                              layer='below', line_width=0)])
fig.show()

ChatGPT: This code snippet uses the go.Scatter() function…

ChatGPT: يستخدم مقتطف الكود هذا دالة go.Scatter()

حسنًا ، لقد حاولت ولكن النتيجة ليست هي نفس المخطط الخطي الأخير. لم يطبق ChatGPT التظليل بين السطور بشكل صحيح. لذلك ، نطلب منه إجراء تجربة أخرى عن طريق الضغط على زر إعادة توليد الاستجابة regenerate response.

هذه المرة ، يكون ChatGPT هو الذي يصدر الأمر: ارسم آخر مخطط خطي ـ plotly

# Import the plotly library
import plotly.graph_objects as go

# Draw a line chart of Tmin, Tmean, and Tmax over Month with shading between Tmin and Tmax using plotly
fig = go.Figure()
fig.add_trace(go.Scatter(x=data['Month'], y=data['Tmin'], mode='lines', name='Tmin', line=dict(color='gray')))
fig.add_trace(go.Scatter(x=data['Month'], y=data['Tmean'], mode='lines', name='Tmean', line=dict(color='black')))
fig.add_trace(go.Scatter(x=data['Month'], y=data['Tmax'], mode='lines', name='Tmax', line=dict(color='gray')))
fig.update_layout(shapes=[dict(type='rect', xref='x', yref='paper', x0=data['Month'].min(), y0=0, x1=data['Month'].max(), y1=1, fillcolor='gray', opacity=0.5, layer='below', line_width=0)])
fig.show()

ChatGPT: This code snippet uses the go.Figure(), fig.add_trace(), fig.update_layout() …

ChatGPT: يستخدم مقتطف الكود هذا go.Figure() ، fig.add_trace() ، fig.update_layout()

كلا ، هذا ليس كذلك. يعطينا إعادة توليد آخر هذا:

ربما يكون هذا أسوأ. ولذا لدينا محاولة أخرى تنتج هذا الكود.

# Import the plotly library 
import plotly.graph_objs as go

# Draw a line chart of Tmin, Tmean, and Tmax over Month with shading between Tmin and Tmax using plotly

trace1 = go.Scatter(x=data['Month'], y=data['Tmin'],mode='lines', name='Tmin', line=dict(color='gray'))
trace2 = go.Scatter(x=data['Month'], y=data['Tmean'],mode='lines', name='Tmean', line=dict(color='black'))
trace3 = go.Scatter(x=data['Month'], y=data['Tmax'],mode='lines', name='Tmax', line=dict(color='gray'))
trace4 = go.Scatter(x=data['Month'], y=data['Tmin'],mode='none', fill='tonexty', fillcolor='gray', showlegend=False)
data_plotly = [trace1, trace2, trace3,trace4]
layout = go.Layout(yaxis=dict(title='Temperature'))
fig = go.Figure(data=data_plotly, layout=layout)
fig.show()

وهذا ينتج مخططًا قريبًا مما نريد.

تكمن المشكلة في أن هذا الإصدار يرسم مخطط واحدةفوق الأخر وبالتالي يخفي التظليل مخططات الخط. لذلك بدلاً من إعادة التوليد مرة أخرى، يمكننا فقط تغيير لون التظليل للحصول على قيمة ألفا أصغر، مما يجعله شفافًا.

هذا هو كود ChatGPT المعدل.

# Import the plotly library
import plotly.graph_objs as go

# Draw a line chart of Tmin, Tmean, and Tmax over Month with shading between Tmin and Tmax using plotly
greycolor = fillcolor = 'rgba(180,180,180,0.5)'
trace1 = go.Scatter(x=data['Month'], y=data['Tmin'],mode='lines', name='Tmin', line=dict(color=greycolor))
trace2 = go.Scatter(x=data['Month'], y=data['Tmean'],mode='lines', name='Tmean', line=dict(color='black'))
trace3 = go.Scatter(x=data['Month'], y=data['Tmax'],mode='lines', name='Tmax', line=dict(color=greycolor))
trace4 = go.Scatter(x=data['Month'], y=data['Tmin'],mode='none', fill='tonexty', fillcolor=greycolor, showlegend=False)
data_plotly = [trace1, trace2, trace3,trace4]
layout = go.Layout(yaxis=dict(title='Temperature'))
fig = go.Figure(data=data_plotly, layout=layout)
fig.show()

وهذا ينتج ما نريد.

ماذا تعلمنا؟

يمكن أن يأخذ ChatGPT بالتأكيد بعض (الكثير؟) من الملل من البرمجة. كان بإمكاني إنتاج كل الكود أعلاه بسهولة، لكن الأمر كان سيستغرق وقتًا أطول وربما أرتكب بعض الأخطاء. يرتكب ChatGPT أخطاء أيضًا، ولكن يمكننا أن نطلب منه المحاولة مرة أخرى وعندما يقترب بما يكفي من حل يمكننا التدخل وإصلاحه.

كما قلت في البداية، يعمل العمل مع ChatGPT بشكل جيد عند إنشاء notebook Jupyter. إذا كنت أرغب في إنتاج برنامج Python عادي أو ، على سبيل المثال ، برنامج Streamlit ، فربما أطلب من ChatGPT إنشاء دوال لي بعد ذلك سأقوم بربطها معًا في برنامج رئيسي.

بواسطة
AlanJones
المصدر
The Coding Room

د. علاء طعيمة

كلية علوم الحاسوب وتكنولوجيا المعلومات / جامعة القادسية / العراق

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى