جزئیات آموزش
مدرس: سجاد رحمانی
آخرین ویرایش: ۲۰ مرداد ۱۳۹۸
دسته بندی:

کانال تلگرام

بنر تلگرامی

ساخت آرایه (array) در numpy پایتون (Python)

یکی از موارد خیلی مهم در numpy ساخت آرایه (array) در پایتون (python) است! که در این آموزش نحوه ساخت یک آرایه از لیست، تاپل و … رو آموزش میدیم! و فرق آرایه با لیست و تاپل و … رو به طور کامل بیان می‌کنیم!

ایجاد آرایه (array) از یک لیست (list)

قطعه کد زیر را در نظر بگیرید!:

در خط اول این کد، پکیج numpy رو به عنوان np وارد فضای کاری خودمون در پایتون (Python) می‌کنیم! در واقع چون حوصله نداریم، هردفعه اسمِ طولانی numpy رو تایپ کنیم! پس می‌گیم، numpy رو با اسم مستعار np وارد کن! که از این به بعد هر وقت خواستم بگم numpy، خیلی زحمت نکشم و فقط بگم np!

در خط دوم، یک لیست تعریف کردم!

در خط سوم، اولاً حواسمون هست که np همووون numpy است! (در توضیح خط یک، یه عالمه در موردش توضیح دادیم!)

و حالا میایم از پکیج numpy از array استفاده می‌کنیم (یعنی استفاده از np.array) و لیست a رو به یک آرایه تبدیل می‌کنیم! و نتیجه رو در متغیری به اسم b میریزیم! و توجه داشته باشید که الان b یک آرایه است و نه یک لیست!

در خط آخر هم میایم و b رو print می‌کنیم که خروجی زیر رو دریافت می‌کنیم!

و برای اطمینان اگر قطعه کد زیر رو بنویسیم تا نوع b رو بهموون نشون بده:!

و خروجی این میشه که نوع class متغیر b رو به ما numpy.ndarray معرفی میکنه! که یعنی آرایه است!

ایجاد آرایه (array) از یک تاپل (tuple)

اگر نمی‌دونید تاپل چیست، به آموزش زیر مراجعه کنید!

تاپل در پایتون

خب! حالا این بار قطعه کد زیر رو در نظر بگیرید!

خط اول که مشابه قسمت قبلی است که در بخش قبلی توضیح دادیم!

خط دوم، یک tuple درست کردیم! توجه کنید که عدد منفیِ ۲٫۱ یک عدد اعشاری است! و عدد ۳ یک عدد صحیح! و بعد که خروجی رو خواستیم چاپ کنیم، به نحوه خروجی دقت کنید!

خط سوم هم که مشابه قبل، اومدیم، a (که یک تاپل بود) رو به یک آرایه (array) تبدیل کردیم و این رو ریختیم توووی متغیری به اسم b!

در خط آخر هم که داریم b رو print می‌کنیم!

در نهایت خروجی به صورت زیر خواهد بود!:

اگر دقت کنید، می‌بینید که عدد ۳ که عددصحیح بود رو به عدد اعشاری تبدیل کرده! شاید بپرسید چرا؟! جوابش در نکته زیر خلاصه شده!

نکته: در numpy، هر مولفه داخل یک آرایه (array) باید نوع مشابه با بقیه داشته باشد!

خب حالا به نظر شما میشه یک عدد اعشاری رو بدون از دست دادن چیزی! به یک عدد صحیح تبدیل کنیم! (واضحه که نه!)

ولی خیلی راحت میشه یک عدد صحیح رو به یک عدد اعشاری تبدیل کرد و هیچی رو هم از دست نداد!

تمرین

به قطعه کد زیر نگاه کنید! و بدون اینکه برید توووی پایتون (python) این رو کپی کنید و run بگیرید! بگید به نظرتون خروجیش چی میشه؟! و چرا؟!

تنها نکته‌ی این تمرین اینه که همه‌ی اعداد داخل لیست a به اعداد مختلط ارتفا پیدا میکنن! چرا؟! چون قرار شد همه‌ی اعضای آرایه از یک نوع باشن! خوب حالا به نظرتون میشه یک عدد مختلط رو به یک عدد صحیح تبدیل کرد؟! واضحه که نه!! (ولی میشه یک عدد صحیح رو به عدد مختلط تبدیل کرد! کافیه بخش موهومیش رو صفر در نظر بگیریم! همین!)

یا به زبووون دیگه:!

اعداد صحیح زیر مجموعه اعداد اعشاری هستن! و باز این دوتا زیرمجموعه اعداد مختلط هستن!

ساخت آرایه به صورت دستی!

حالا فرض کنید نمی‌خوایم از list یا tuple بیایم یک آرایه درست کنیم! و می‌خوایم خودمون دستی بیایم آرایه درست کنیم! برای این موضوع، مثال زیر رو در نظر بگیرید!

خط اول که مشابه قبلی هاست!

خط دوم اومدیم شروع میکنیم به تعریف یک آرایه (array) با نام a ! اون np.array هم یعنی از پکیج numpy (اون np اسم مستعار numpy بود دیگه!) از تابع آرایه (array) میخوایم استفاده کنیم!

اون پرانتز هایی که در خط دوم باز شده و در خط ۵ بسته شده که مربوط به خود تابع array است! پس اونا که هیچی!

یادآوری: (به [] میگن براکت!)

براکت اول که در خط دوم (و در ادامه همون پرانتز) باز شده، و در خط ۵ بسته شده، شروع ماجراست!

در خط سوم سطر اولش رو تعریف کردیم و در خط چهارم، سطر دوم آرایه خودمون رو تعریف کردیم!

همین!

که خروجی میشه:!

چند مثال دیگه از ساخت دستی array !

چند تا مثال دیگه بزنیم که دیگه کامل مبحث جا بیفته!

مثال: فرض کنید می‌خوایم آرایه ۲ در ۳ بسازیم! با مقادیر ۱ و ۲ و … و ۶! پس داریم!

دیگه توضیح که نمی‌خواد! چون دقیقاً مشابه قبلی هاست! در ضمن از کدهای بعدی، خط اولش رو هم نمی‌نویسم چون دیگه تکراری است! و یک پکیج رو که لازم نیست صدبار import کنیم که!!!

مثال: میخوایم آرایه ۱ در ۳ بسازیم با اعداد ۱و۲و۳ !

مثال: آرایه ۳ در ۱ با اعداد ۱و۲و۳ بسازید!

مثال: آرایه ۴ در ۲ با حروف الفبا انگلیسی بسازید!

یک تفاوت مهم بین آرایه‌ی numpy و data structure های پایتون (Python)

اول اینکه، به همون list و tuple و … در پایتون میگن Data Structure!

و آرایه در numpy هم که واضحه به نظرم! چون تمام این آموزش داشتیم در موردش صحبت می‌کردیم!

برای نشووون دادن این تفاوت مهم (البته واضحه که تفاوت‌های دیگه‌ای هم داره!) به قطعه کد زیر و خروجیش دقت کنید، تا توضیح بدیم!

خروجی:

اگر دقت کنید، b یک numpy array است! و a یک list!

وقتی یک لیست (و در حالت کلی یک data structure پایتون رو در عددی ضرب می‌کنیم، به همون تعداد تکرار میشه!) [به خط دوم خروجی که درواقع ۳ برابر a است دقت کنید!]

اما وقتی یک numpy array رو در عددی ضرب می‌کنیم، تک تک مولفه‌هاش در اون عدد ضرب میشن! [به خط اول خروجی که درواقع ۳ برابر b است دقت کنید!]

آموزش‌های پیشنهادی!

جلسه بعد: تابع arange در numpy

آموزش کامل و رایگان پایتون به زبان فارسی

  1. maedeh
    ۲۱:۲۳ مورخه ۰۱ مرداد ۹۸

    با سلام وتشکر بابت ویدیوهای آموزشی خوبتون.
    بعضی از آموزشهاتون لینک برای دانلود نداره متاسفانه

    • گروه آموزشی کولاک
      ۲۰:۲۴ مورخه ۰۳ مرداد ۹۸

      سلام و عرض ادب،
      خیلی ممنون از لطف شما،
      واقعیت اینه که فعلاً سعی میکنیم یک سری آموزش های متنی تهیه کنیم و بیشتر گستردگی مباحث تحت پوشش رو توسعه بدیم!
      و بعد ان شاء الله بعدها فیلم آموزش ها رو ضبط کنیم
      عذرخواهی میکنم از حضورتون بابت اینکه نمی تونیم در حال حاضر برای همه آموزش ها فیلم ضبط کنیم.
      واقعاً وقت ما هم محدوده و واقعاً عذرخواهی میکنم

کانال تلگرامی ما رو هم دنبال کنید (هر روز تمرین پایتون و مطالب مفیدی قرار میدیم)@Koolac_Org
+