ডেটার প্রকারভেদঃ
একটা প্রশ্ন আসতেই পারে ডেটা জিনিসটা কি??? খায় নাকি মাথায় দেয়?পরিসংখান বলে একটা প্রোগ্রামিং বলে আরেকটা ডেটা সাইন্স বলে আরেকটা যদিও মূল কথা এক। , আর আমি বলি সবকিছুই ডাটা,প্রতি মুহূর্তে দুনিয়াতে যা ঘটছে সবই ডাটা বা তথ্য। একটু ফরমাল ভাবে বলতে গেলে ডাটা হচ্ছে কালেকশন অফ ফ্যাক্টস যেমন নাম্বার, শব্দ, পরিমাণ, পর্যবেক্ষণ এমনকি কোন কিছুর বর্ণনা। এর থেকে বেশি জানার এই মূহুর্তে দরকার নাই ।
আমরা মূলত পাইথনের ডেটার প্রকার নিয়ে আলোচনা করব।
ডেটা কে আমরা ৩ ভাগে ভাগ করতে পারি ।একপ্রকার ডেটা হল নাম্বার আর এক প্রকার ডেটা হল ষ্ট্রিংআর এক প্রকার ডেটা হল বুলিয়ান । যদিও এগুলা ছাড়া ও আরো অনেক ধরনের ডেটা আছে তবে আমরা এখন শুধু এই দুই্ প্রকার ডেটা নিয়ে আলোচনা করব । ধিরে ধিরে বাকি গুলা সম্পর্কে জানব। যদিও বাকি ডেটা গুলা এই ডেটা গুলার সমষ্টি । স্পেশালি নাম্বার এবং ষ্ট্রিং।
(Numeric ) নাম্বারের ভিত্তিতে ডেটা ২ প্রকারঃ
১।ইন্টিজার(integer)
২।ফ্লোট(float)
ইন্টিজারঃ
সকল পূর্ণ সংখ্যা হল ইন্টিজার (1,2,3,4,5)
ফ্লোটঃ
দশমিকযুক্ত সংখা বা ভগ্নাংশই হল ফ্লোট (1.2,4.5,7.8)
আমরা এখানে কমপ্লেক্স নামক সংখ্যাকে নাম্বারের মধ্যে ধরি নাই । যেহেতু এটা একদম বেসিক লেবেলের জন্য।
ষ্ট্রিং(String )
ষ্ট্রিং মূলত একটা ডেটা টাইপ। কোলন এর মাধ্যমে একে প্রকাশ করা হয়। পাইথনে সিঙ্গেল বা ডাবল কোলন ২ টাকে একই মনে করে। ষ্ট্রিং হল ইমমিউটেবল ।ইমমিউটিবল মানে যাকে এডিট করতে পারবেননা । আর মিউটেবল মানে একে চাইলে এডিট করতে পারব। মিউটেবল আর ইমমিউটেবল পরে কাজে দিবে। একটু ঘোলাটে মনে হতে পারে। যখন আমরা ষ্ট্রিং নিয়ে কথা বলব তখন এই ব্যাপারটা আরো ক্লিয়ার হবে। ষ্ট্রিং কে একটা বস্তা বা একটা জাদুর বাক্স কল্পনা করতে পারেন । ' ' বা " " হল সেই বস্তা বা জাদুর বাক্স যার ভিতর আমি যা রাখি না কেন পাইথন সেটা কে একটা জাদুর বাক্স ই মনে করবে আর জাদুর বাক্সটার টাইপ হল ষ্ট্রিং। জাদুর এ বাক্স কিভাবে খুলবেন সেটা নিয়ে পরে আস্তে আস্তে জানতে পারবেন।
strng='It is a string,everything in colon is called string'
a=' eta ekta string'
Name='My name is Jabed'
ষ্ট্রিং কে আমরা টেক্সট ধরে নিতে পারি। তবে শুধু টেক্সট কে পাইথন ষ্ট্রিং হিসেবে নিবে না টেক্সট ষ্ট্রিং এর একটা অংশ। নাম্বার ও ষ্ট্রিং হতে পারে ।
(Boolean)বুলিয়ানঃ
বুলিয়ান ডাটা বলতে লজিকেল ডাটা, সত্য অথবা মিথ্যা(True or False)
- True(1 )
- False(0)
ধরেন, ১ আর ১ কে যোগ করলে কত হবে??অবশ্যয় ২। সিউর তো?? এবার আপনি পাইথন কে বললেন ১+১=১ তাহলে পাইথন আপনাকে কি বলবে??
False আর যদি আপনি ১+১=২ লিখতেব তাহলে পাইথন কি বলত?? অবশ্যয় True। উপরে 1 True হল এর ইন্টিজার ফরমেট আর 0 হল False এর ইন্টিজার ফরমেট ।
print(1+1==2)
True
print(1+1==1)
False
print(int(True))
1
print(int(False))
0
প্রিন্ট নিয়ে চিন্তা করিয়েন না। এটা নিয়েও পরে বলা হবে। int(True) আর int(False) ইন্টিজার ফরমেট কেই বুঝানো হয়েছে ।অর্থাৎ True এর ইন্টিজার ফরমেট হল 1 আর False ইন্টিজার ফরমেট হল 0 ।
আমাদের কাজ মূলত নাম্বার ও ষ্ট্রিং নিয়ে ।
আমার ডেটার টাইপ কি সেটা জানতে হলে type() নামক একটা ফাংশন ব্যাবহার করব। যেখানে আমরা () প্যারান্থেসিস এর ভিতর ডেটা ইনপুট দিলে আমাকে ডেটার প্রকার আউটপুট হিসেবে দেখাবে। ব্যাপারটা আরো ক্লিয়ার হওয়ার জন্য আমরা উপরে যে ডেটা গুলা লিখছিলাম সেগুলা দিয়ে পরীক্ষা করে দেখি।
type(1)
>>int
type(1.2)
>>float
type('eta ekta string')
>>str
type(True)
>>bool
type(False)
>>bool
print('Hello world')
>>Hello world
এই ফাকে একটু বলে নিই আপনি যদি হ্যালো ওয়ার্ল্ড এটা সি তে বা জাভায় প্রিন্ট করতে চাইতেন তাহলে ৫-৬ লাইন এর কোড করাই লাগত যেটা পাইথন এক লাইনেই করে দেখাচ্ছে।
type('hello world')
>>str
আশা করি বুঝছেন। এবার নিজে নিজে মান পরিবর্তন করে দেখেন তাহলে আরো ভাল বুঝা যাবে।
কাজঃ
(1+1.5) এই ডেটার টাইপ কি???? একটু চিন্তা করেন, না পারলেও সমস্যা নাই সামনে এ নিয়ে বিস্তারিত জানা হবে।
আগের পর্বসমূহঃ
মেশিন লার্নিং এর জন্য পাইথন (পর্ব-২)