Python-3.4.3/C3/Parsing-data/Bengali

From Script | Spoken-Tutorial
Revision as of 14:03, 9 June 2020 by Kaushik Datta (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time Narration
00:01 Parsing data এর স্পোকেন টিউটোরিয়ালে আপনাদের স্বাগত।
00:06 এই টিউটোরিয়ালে আমরা শিখব-

delimiter ব্যবহার করে একটি string বিভক্ত করা।

string এ সকল whitespaces এবং leading, trailing সরিয়ে ফেলা।

ভিন্ন built-in datatypes এর মাঝে রূপান্তর করা।

00:22 টিউটোরিয়ালটি রেকর্ড করতে ব্যবহার করছি:

Ubuntu Linux 16.04 অপারেটিং সিস্টেম

Python 3.4.3 এবং IPython 5.1.0

00:38 টিউটোরিয়ালটি অনুশীলন করতে, আপনার জানা উচিত যে lists কিভাবে ব্যবহার করে।

না হলে এই ওয়েবসাইটে সম্পর্কিত পাইথন টিউটোরিয়াল দেখুন।

00:49 প্রথমে বুঝি যে parsing data এর মানে কি।
00:54 Parsing data টেক্সটের আকারে ডেটা পড়ে। এটি এমনভাবে রূপান্তরিত করা হয় যা গণনার জন্য ব্যবহার করা যেতে পারে।
01:04 এরপর আমরা split() function সম্পর্কে শিখব।
01:08 split() function সংজ্ঞায়িত separator ব্যবহার করে বড় string কে ছোট strings এ বিভক্ত করে।
01:15 কোনো argument নির্দিষ্ট না করা থাকলে ডিফল্ট separator হিসাবে whitespace ব্যবহৃত হয়।
01:22 সিনট্যাক্স হল: str dot split বন্ধনীতে argument
01:29 split function string কে parses করে এবং tokens এর array রিটার্ন করে। একে string tokenizing বলা হয়।
01:38 প্রথমে Ctrl + Alt + T কী একসাথে টিপে টার্মিনালটি খুলুন।
01:46 লিখুন ipython3 এবং এন্টার টিপুন।
01:52 pylab package আরম্ভ করি। লিখুন percentage sign pylab এবং এন্টার টিপুন।
02:02 এখান থেকে টার্মিনালে প্রতিটি কমান্ড লেখার পর এন্টার কী টিপতে ভুলবেন না।
02:09 string data type হিসাবে ভ্যারিয়েবল str1 সংজ্ঞায়িত করি।
02:14 লিখুন str1 is equal to ডাবল উদ্ধৃতিতে Welcome to কিছু whitespaces প্রবিষ্ট করুন, তারপর Python tutorials
02:24 আমাদের to এবং Python tutorials এর মাঝে whitespaces এর যে কোনো সংখ্যা থাকতে পারে। তবে সকল spaces একটি স্থান হিসাবে বিবেচিত হয়।
02:34 এখন আমরা whitespace এ এই string বিভাজিত করছি।
02:38 লিখুন str1 dot split ওপেন এবং ক্লোস বন্ধনী।
02:44 যেমনকি আমরা দেখতে পারি আমরা strings এর সূচী পাই।
02:48 argument সহ split() function এর জন্য আরেকটি উদাহরণ নিই। দেখানো অনুযায়ী লিখুন।
02:57 লিখুন x dot split বন্ধনীতে একক উদ্ধৃতিতে semicolon.
03:04 আমরা comma দ্বারা পৃথক strings এর সূচী পাই।
03:08 ভিডিওটি থামান। এই অনুশীলনী চেষ্টা করুন এবং তারপর ভিডিওটি আবার শুরু করুন।
03:14 argument হিসাবে space ব্যবহার করে x বিভক্ত করুন। এটি কি argument ছাড়াই বিভাজন হিসাবে একই?
03:22 সমাধানের জন্য টার্মিনালে যান।
03:26 লিখুন b is equal to x dot split ওপেন এবং ক্লোস বন্ধনী।
03:32 লিখুন c is equal to x dot split বন্ধনীতে এবং একক উদ্ধৃতিতে space.
03:41 লিখুন b
03:44 লিখুন c
03:47 আমরা দেখতে পারি যে argument ছাড়াই বিভক্ত করা argument হিসাবে space দিয়ে বিভক্ত করার সমান।
03:54 argument ছাড়াই string বিভক্ত করা spaces এর যে কোনো সংখ্যা দ্বারা পৃথক স্ট্রিংকে বিভক্ত করবে।
04:01 argument হিসাবে space দেওয়া বিশেষত একক whitespace এ বাক্য বিভক্ত করবে।
04:08 ভ্যারিয়েবল str1 রিকল করি।
04:12 এখন আমরা string কে argument ছাড়াই বিভক্ত করব। লিখুন b is equal to str1 dot split ওপেন এবং ক্লোস প্রথম বন্ধনী।
04:24 লিখুন c is equal to str1 dot split বন্ধনীতে এবং একক উদ্ধৃতিতে space.
04:33 লিখুন b
04:36 লিখুন c
04:38 যেমনকি আপনি দেখতে পারেন, এখানে b এবং c সমান নয় কারণ c তে প্রবিষ্ট হিসাবে whitespaces রয়েছে, যখনকি b তে শুধুমাত্র শব্দ রয়েছে।
04:49 এরপর আমরা strip method সম্পর্কে শিখব।
04:53 strip function, string এর সকল leading এবং trailing whitespaces সরিয়ে দেয়।
04:59 unstripped is equal to ডাবল উদ্ধৃতিতে space Hello world space লিখে string সংজ্ঞায়িত করুন।
05:09 এখন whitespace সরাতে লিখুন, unstripped dot strip ওপেন এবং ক্লোস প্রথম বন্ধনী।
05:18 আমরা দেখতে পারি যে strip, string এর শেষে এবং শুরুতে সকল whitespaces সরিয়ে দেয়।
05:25 splitting এবং stripping এর পর আমরা leading এবং trailing spaces সরিয়ে strings এর সূচী পাই।
05:32 এখন strings কে floats এবং integers এ রূপান্তর করা শিখি।
05:38 লিখুন mark underscore str is equal to ডাবল উদ্ধৃতিতে 1.25
05:46 লক্ষ্য করুন যে 1.25 একটি string এবং float নয় কারণ এটি ডাবল উদ্ধৃতিতে রয়েছে।
05:53 লিখুন mark is equal to float বন্ধনীতে mark underscore str. এখানে আমরা string কে float এ রূপান্তর করছি।
06:05 লিখুন type বন্ধনীতে mark underscore str. এটি আপনাকে mark_str এর datatype অর্থাৎ string দেখায়।
06:17 লিখুন type বন্ধনীতে mark. এটি দেখায় যে mark হল float datatype.
06:26 আমরা দেখতে পারি যে string float এ রূপান্তরিত হয়েছে। এখন আমরা তাদের mathematical operations করতে পারি।
06:34 ভিডিওটি থামান। এই অনুশীলনী চেষ্টা করুন এবং তারপর ভিডিওটি আবার শুরু করুন।
06:40 আপনি টার্মিনালে এটি লিখলে কি হবে, int বন্ধনীতে ডাবল উদ্ধৃতিতে 1.25
06:48 সমাধানের জন্য টার্মিনালে যান।
06:52 লিখুন int বন্ধনীতে ডাবল উদ্ধৃতিতে 1.25
06:59 আমরা একটি ValueError দেখতে পারি। আমরা string কে সরাসরি integer এ রূপান্তর করতে পারি না।
07:06 এর জন্য সঠিক সমাধানটি দেখি। লিখুন dcml underscore str is equal to ডাবল উদ্ধৃতিতে 1.25.
07:18 লিখুন flt is equal to float বন্ধনীতে dcml underscore str.
07:27 এখানে আমরা string কে float এ রূপান্তর করছি কারণ আমরা এটি সরাসরি integer এ রূপান্তর করতে পারি না।
07:34 লিখুন flt
07:37 লিখুন number is equal to int বন্ধনীতে flt. আমরা এখন float কে integer এ রূপান্তর করছি।
07:48 লিখুন number, আমরা integer হিসাবে আউটপুট পেয়েছি।
07:54 এভাবেই আমাদের strings কে floats এবং integers এ রূপান্তর করা উচিত।
07:59 এরপর আমরা data কে parse করতে ডেটা ফাইল ব্যবহার করব।
08:04 আমি টেক্সট এডিটরে student underscore record.txt ফাইল খুলি।
08:10 ফাইল student underscore record.txt এই টিউটোরিয়ালের Code files লিঙ্কে উপলব্ধ। এটি আপনার Home directory তে ডাউনলোড করে ব্যবহার করুন।
08:22 আমরা প্রথমে লাইন দর লাইন ফাইলটি পড়ব এবং এই ফাইলে প্রতিটি রেকর্ড parse করব।
08:28 এতে State Secondary Board Examination এ শিক্ষার্থী এবং তাদের মার্ক্সের রেকর্ড রয়েছে।
08:35 এতে 1 লাখ 80 হাজার লাইনের রেকর্ড রয়েছে। আমরা এটি পড়তে এবং এই ডেটা প্রসেস করছি।
08:43 ফাইলের প্রতিটি লাইন semicolons দ্বারা প্রথক fields এর সেট।
08:49 এই ফাইল থেকে একটি নমুনা রেকর্ড বিবেচনা করুন।
08:53 প্রদত্ত প্রতিটি লাইনে নিম্ন fields রয়েছে।

রিজিআন কোড রোল নম্বর নাম 5 টি বিষয়ের মার্ক্স মোট মার্ক্স।

09:08 নতুন টেক্সট এডিটর খুলুন। দেখানো অনুযায়ী কোড লিখুন।
09:14 আমি এই প্রোগ্রামটি ব্যাখ্যা করি।
09:17 আগের টিউটোরিয়ালে আমরা ইতিমধ্যে for loop শিখেছি। for loop শিক্ষার্থীর রেকর্ড প্রসেস করবে এবং প্রতিটি রেকর্ডের ফীল্ড বিভক্ত করবে।
09:28 math এর মার্ক্স পরে float এ রূপান্তরিত হয়।
09:32 তারপর এটি যুক্ত হয় এবং region code A এর জন্য ভ্যারিয়েবল math underscore marks underscore A তে list হিসাবে সংরক্ষণ করা হয়।
09:41 ফাইলটি Home directory তে marks.py হিসাবে সংরক্ষণ করুন।
09:48 টার্মিনালে যান।
09:51 percentage sign run space marks.py সহ ফাইলটি নিষ্পাদিত করুন।
09:58 এডিটরে ফিরে যান। এখন আমাদের কাছে region A এর জন্য সকল math এর মার্ক্স math underscore marks underscore A লিস্টে রয়েছে।
10:09 region A এর জন্য math এর মার্ক্সের mean এর গণনা করতে নীচের লাইন যুক্ত করুন।
10:15 এর জন্য, আমাদের শুধু গণিতের মার্ক্সের যোগ এবং দৈর্ঘ্য দ্বারা ভাগ করতে হবে।
10:21 লক্ষ্য করুন যে দৈর্ঘ্যটি region A এর শিক্ষার্থীদের সংখ্যা দেবে।
10:26 ফাইলটি সংরক্ষণ করুন।
10:29 টার্মিনালে যান।
10:32 percentage sign run space marks.py সহ ফাইলটি আবার কার্যকর করুন।
10:40 সুতরাং আমরা আমাদের অন্তিম আউটপুট পেয়েছি।
10:43 এখানে region A এর জন্য mean ভ্যালু মোটামুটি 1 লক্ষ 80 হাজার রেকর্ডের জন্য গণনা করা হয়।
10:51 এইভাবে আমরা বড় ডেটা পড়তে এবং বিভক্ত করে পারি এবং এতে গণনা সম্পাদন করি।
10:57 এটি আমাদের টিউটোরিয়ালের শেষে নিয়ে আসে।
11:01 এখানে আমরা শিখেছি string কে Tokenize করা।

split() function সহ delimiters দ্বারা পৃথক string বিভক্ত করা।

11:11 strip() function ব্যবহার করে whitespaces সরানো।

সংখ্যার datatypes এক প্রকার থেকে অন্যতে রূপান্তর করা। ইনপুট ডেটা Parse করা এবং এতে গণনা সম্পাদন করা।

11:25 আপনার সমাধানের জন্য এখানে কিছু স্ব-মূল্যায়ন প্রশ্ন রয়েছে।

1. শব্দগুলি পেতে আপনি string Guido;Rossum;Python কিভাবে বিভক্ত করেন?

11:36 2. int বন্ধনীতে ডাবল উদ্ধৃতিতে 20.0 কি প্রদান করে?
11:43 এবং উত্তর হল -

1. line.split বন্ধনীতে একক উদ্ধৃতিতে comma

2. int বন্ধনীতে ডাবল উদ্ধৃতিতে 20.0 একটি এরর দেবে, কারণ string সরাসরি integer এ রূপান্তর করা সম্ভব নয়।

12:03 সময়ের সাথে আপনার প্রশ্ন এই ফোরামে পোস্ট করুন।
12:07 এই ফোরামে Python সম্পর্কিত আপনার সাধারণ প্রশ্ন পোস্ট করুন।
12:12 FOSSEE দল TBC প্রকল্প সমন্বয় করে।
12:16 স্পোকেন টিউটোরিয়াল প্রকল্প ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত। আরো জানতে এই লিঙ্কে যান।
12:27 আই আই টী বোম্বে থেকে আমি কৌশিক দত্ত বিদায় নিচ্ছি। অংশগ্রহনের জন্য ধন্যবাদ।

Contributors and Content Editors

Kaushik Datta