পাইথন এবং পান্ডা দিয়ে কীভাবে ডেটা ক্লিনিং করবেন

Pa Ithana Ebam Panda Diye Kibhabe Deta Klinim Karabena



Python এবং Pandas ব্যবহার করে ডেটা পরিষ্কার করা শেখা যে কেউ ডেটা নিয়ে কাজ করে তাদের জন্য অত্যন্ত গুরুত্বপূর্ণ। ডেটা ক্লিনিং বেশিরভাগ ক্ষেত্রে ত্রুটি এবং অসঙ্গতিগুলি সরিয়ে সঠিক বিশ্লেষণ এবং মডেলিংয়ের জন্য ব্যবহৃত হয়। এই নির্দেশিকাটি ধাপে ধাপে প্রক্রিয়ার মধ্য দিয়ে চলে যা আমাদের দেখায় কিভাবে হারিয়ে যাওয়া ডেটা এবং স্পট বা বহিরাগতদের সনাক্ত করতে হয়। পাইথন এবং পান্ডাসকে আমাদের টুল হিসাবে ব্যবহার করে, আমরা অগোছালো ডেটাকে একটি পরিষ্কার, ব্যবহারযোগ্য তথ্যে রূপান্তর করতে পারি। এই নির্দেশিকাটি আমাদের ডেটার গুণমান উন্নত করতে এবং বিশ্লেষণ ও সিদ্ধান্ত গ্রহণের জন্য প্রস্তুত করতেও সাহায্য করে।

পাইথন এবং পান্ডা দিয়ে ডেটা পরিষ্কার করা

ডেটা আজ সিদ্ধান্ত গ্রহণের বিল্ডিং ব্লকের মতো। কিন্তু এই সংগ্রহ থেকে বিভিন্ন আকার এবং আকারের ব্লকের একটি গ্রুপ থাকার কল্পনা করুন; অর্থপূর্ণ কিছু নির্মাণ করা কঠিন। এখানেই ডেটা ক্লিনিং সাহায্য করতে আসে।

এই গাইডটি পাইথনের ফ্রেমওয়ার্ক ব্যবহার করে কীভাবে ডেটা পরিষ্কার করতে হয় তা অন্বেষণ করে যা ভাল সিদ্ধান্ত নেওয়ার জন্য পান্ডাস। আমরা একটি দোকানের বিক্রয় রেকর্ডের তালিকা নিয়ে কাজ করছি তা বিবেচনা করে ডেটা পরিষ্কার করাও অপরিহার্য। আমরা তালিকায় কোনো কারণ ছাড়াই কিছু অনুপস্থিত নম্বর, অদ্ভুত তারিখ এবং বারবার আইটেম লক্ষ্য করতে পারি। যদি আমরা এই তথ্যের উপর ভিত্তি করে গণনা বা রেকর্ড করি তবে এই সমস্যাগুলি আমাদের গণনা এবং ভবিষ্যদ্বাণীগুলিকে এলোমেলো করতে পারে। ডেটা পরিষ্কার করা আমাদের ডেটা সঠিক এবং ব্যবহারের জন্য প্রস্তুত তা নিশ্চিত করে এই সমস্যাগুলি সমাধান করতে সাহায্য করে৷







ডেটা ক্লিনিংয়ের মধ্যে হারিয়ে যাওয়া ডেটা পরিচালনা করা এবং কিছু ডেটা অনুপস্থিত হলে কী করতে হবে, ডুপ্লিকেটগুলি সরানো, অনুলিপি করা জিনিসগুলি থেকে মুক্তি পাওয়া, ডেটার ধরনগুলি ঠিক করা, সবকিছু সঠিক বিন্যাসে আছে কিনা তা নিশ্চিত করা এবং বহিরাগতদের সাথে কাজ করা বা নম্বরগুলি পরিচালনা করা অন্তর্ভুক্ত। যা মানানসই নয়৷ এই ভুলগুলি ডেটাকে একই দেখায় এবং ডেটা কীভাবে প্রদর্শিত হয় তা মানক করে তোলে৷



শুরু করার জন্য, প্রথমে নিশ্চিত করুন যে আমাদের কাছে পাইথন এবং পান্ডাস ইনস্টল করা আছে। আমরা আমাদের কম্পিউটারের টার্মিনাল বা কমান্ড প্রম্পটে কমান্ড টাইপ করে এটি করতে পারি। এই নির্দেশিকায় উল্লিখিত কোডগুলি বাস্তবায়ন করতে, আমরা Python Pycharm IDE ব্যবহার করতে পারি যা আমাদের সিস্টেমে ইনস্টল করা আছে বা অনলাইন পাইথন প্ল্যাটফর্ম যা হল 'Google Colab' এবং গুরুত্বপূর্ণ লাইব্রেরিগুলি ইনস্টল করার জন্য 'pip' কমান্ডগুলি ইনস্টল করতে পারি।



এখন, আসুন পান্ডা আমদানি করি এবং আমাদের নমুনা ডেটা লোড করি। এই উদাহরণের জন্য, আমরা কোডগুলি চালানোর জন্য Google Colab ব্যবহার করি। সুতরাং, আমরা প্রথমে নিম্নলিখিত কমান্ডটি প্রবেশ করে পান্ডা আমদানি করি:





! পিপ ইনস্টল পান্ডা

আমদানি পান্ডা হিসাবে পিডি

আমদানি নম্র হিসাবে যেমন

তারপর, আমরা pd.read() পদ্ধতি ব্যবহার করে যে ডেটাসেটটি প্রদর্শন করতে চাই তা লোড করি যা ফাইলের পাথটিকে তার ইনপুট প্যারামিটার হিসাবে নেয়।

# ডেটাসেট লোড করুন

তথ্য = পিডি read_csv ( '/content/sample_data/california_housing_test.csv' )

# প্রথম কয়েকটি সারি প্রদর্শন করুন

ছাপা ( তথ্য মাথা ( ) )



পরবর্তী উদাহরণে, আমরা একটি ছোট দোকানে বিক্রয় সম্পর্কিত ডেটা ব্যবহার করি। অনুপস্থিত ডেটা পরিচালনা করার জন্য, তথ্য কখনও কখনও আমাদের ডেটাতে অনুপস্থিত থাকে। আমরা এই অনুপস্থিত অংশগুলিকে 'NaN' (যার অর্থ 'সংখ্যা নয়') বলে ডাকি। পাইথন স্ক্রিপ্টে এই অনুপস্থিত মানগুলি খুঁজে পেতে, আমরা প্রথমে ডেটা সেটটি লোড করি যা আমরা আগের উদাহরণে করেছি। তারপর, আমরা “missing_values ​​= data.isnull().sum()” ফাংশন ব্যবহার করে ডেটা সেটে যে কোনো অনুপস্থিত মান খুঁজে পাই। এই ফাংশন ডেটাসেটের সমস্ত অনুপস্থিত মান খুঁজে পায়। তারপর, আমরা প্রিন্ট () ফাংশন ব্যবহার করে সেগুলি প্রদর্শন করি।

! পিপ ইনস্টল পান্ডা
আমদানি পান্ডা হিসাবে পিডি
আমদানি নম্র হিসাবে যেমন

# ডেটাসেট লোড করুন
তথ্য = পিডি read_csv ( '/content/sample_data/california_housing_test.csv' )

# প্রথম কয়েকটি সারি প্রদর্শন করুন
ছাপা ( তথ্য মাথা ( ) )

# অনুপস্থিত মান পরীক্ষা করুন
অনুপস্থিত মানের = তথ্য বাতিল ( ) . যোগফল ( )

# কলাম দ্বারা গণনা অনুপস্থিত মান প্রদর্শন করুন
ছাপা ( অনুপস্থিত মানের )

পূর্বে উল্লিখিত কোডটি চালিত যেকোন সারিতে আমরা কোনো অনুপস্থিত ডেটা খুঁজে পাওয়ার পরে, আমরা সেই সারিগুলি সরিয়ে ফেলতে পারি কারণ সেই সারিতে খুব বেশি দরকারী ডেটা নেই। এমনকি আমরা সেই অনুপস্থিত মানগুলি অনুমান করতে পারি এবং কাছাকাছি পয়েন্টগুলির উপর ভিত্তি করে সময়-ভিত্তিক ডেটা অনুমান করে শিক্ষিত অনুমানগুলি দিয়ে শূন্যস্থানগুলি পূরণ করতে পারি।

এখন, আমরা একই জিনিসের অনুলিপিগুলি সরিয়ে ফেলি কারণ তারা আমাদের বিশ্লেষণকে বিভ্রান্ত করতে পারে। ডেটা সেটে ডুপ্লিকেট মান খুঁজে পেতে, আমরা 'duplicate_rows = data[data.duplicated()]' ফাংশন ব্যবহার করি। এই ডুপ্লিকেট মানগুলি ড্রপ করার জন্য, আমরা data.drop_duplicates() ফাংশনকে কল করি। আমরা নিম্নলিখিত কোড ব্যবহার করে তাদের খুঁজে পেতে এবং অপসারণ করতে পারি:

! পিপ ইনস্টল পান্ডা
আমদানি পান্ডা হিসাবে পিডি
আমদানি নম্র হিসাবে যেমন
# ডেটাসেট লোড করুন
তথ্য = পিডি read_csv ( '/content/sample_data/california_housing_test.csv' )
# প্রথম কয়েকটি সারি প্রদর্শন করুন
ছাপা ( তথ্য মাথা ( ) )

# ডুপ্লিকেট সারি জন্য পরীক্ষা করুন
ডুপ্লিকেট_সারি = তথ্য [ তথ্য সদৃশ ( ) ]

# সদৃশ অপসারণ
তথ্য = তথ্য drop_duplicates ( )

# ডুপ্লিকেট অপসারণের পরে প্রথম কয়েকটি সারি প্রদর্শন করুন
ছাপা ( তথ্য মাথা ( ) )

ডেটা টাইপগুলি নির্ধারণ করে যে ডেটা টাইপগুলি ঠিক করার জন্য কী ডেটা সংরক্ষণ করা যেতে পারে। প্রতিটি ধরনের ডেটার জন্য সঠিক টাইপ থাকা অপরিহার্য। উদাহরণ স্বরূপ, তারিখগুলিতে তারিখের সময় ডেটা টাইপ থাকা উচিত এবং সংখ্যাগুলি int, ফ্লোট ইত্যাদির মতো ডেটা টাইপ হওয়া উচিত৷ আমাদের ডেটার ডেটা প্রকারগুলি পরীক্ষা করার জন্য, আমরা 'data.dtypes' ফাংশন ব্যবহার করি৷ এই ফাংশনটি নিম্নলিখিত উপায়ে ব্যবহার করা যেতে পারে:

! পিপ ইনস্টল পান্ডা
আমদানি পান্ডা হিসাবে পিডি
আমদানি নম্র হিসাবে যেমন
# ডেটাসেট লোড করুন
তথ্য = পিডি read_csv ( '/content/sample_data/california_housing_test.csv' )
# প্রথম কয়েকটি সারি প্রদর্শন করুন
ছাপা ( তথ্য মাথা ( ) )
# প্রতিটি কলামের ডেটা প্রকারগুলি পরীক্ষা করুন
তথ্যের ধরণ = তথ্য dtypes

# ডিসপ্লে ডাটা টাইপ
ছাপা ( তথ্যের ধরণ )

যদি আমরা কোন সমস্যা খুঁজে পাই, আমরা পান্ডা ব্যবহার করে ডেটা টাইপ পরিবর্তন করতে পারি। উদাহরণস্বরূপ, আমরা তারিখগুলিকে একটি তারিখ বিন্যাসে পরিণত করতে পারি। একটি ডেটাফ্রেমের 'dtypes' বৈশিষ্ট্য প্রতিটি কলামের ডেটা প্রকার সম্পর্কে তথ্য প্রদান করে। যদি আমরা দেখতে পাই যে ডেটা টাইপ মিলছে না, আমরা কলামগুলিকে পছন্দসই প্রকারে রূপান্তর করতে পান্ডাসের astype() ফাংশন ব্যবহার করতে পারি।

ডেটা প্রকারের পরে, আমরা কখনও কখনও আউটলিয়ারগুলির মুখোমুখি হই যা অন্যদের থেকে খুব আলাদা মান। তারা আমাদের হিসেব এলোমেলো করতে পারে। আউটলিয়ারদের সাথে মোকাবিলা করার জন্য, আমরা একটি ফাংশন সংজ্ঞায়িত করি যা 'np.abs(stats.zscore(data))' z-score ফাংশন ব্যবহার করে যা থ্রেশহোল্ড মানের সাথে আমাদের ডেটাতে বিদ্যমান মানগুলির তুলনা করে। এই থ্রেশহোল্ডের ব্যাপ্তি ব্যতীত অন্য যেকোন মানকে আউটলায়ার হিসাবে বিবেচনা করা হয় . আসুন দেখি কিভাবে বহিরাগতদের খুঁজে বের করবেন এবং পরিচালনা করবেন:

! পিপ ইনস্টল পান্ডা
আমদানি পান্ডা হিসাবে পিডি
আমদানি নম্র হিসাবে যেমন

# ডেটাসেট লোড করুন
তথ্য = পিডি read_csv ( '/content/sample_data/california_housing_test.csv' )

# প্রথম কয়েকটি সারি প্রদর্শন করুন
ছাপা ( তথ্য মাথা ( ) )
থেকে মশলাদার আমদানি পরিসংখ্যান

def সনাক্তকরণ ( তথ্য ) :
z_স্কোর = যেমন abs ( পরিসংখ্যান zscore ( তথ্য ) )
ফিরে যেমন কোথায় ( z_স্কোর > 3 )

# 'বিক্রয়' কলামে বহিরাগতদের সনাক্ত করুন এবং পরিচালনা করুন
বহিরাগত = সনাক্তকরণ ( তথ্য [ 'দ্রাঘিমাংশ' ] )
তথ্য [ 'দ্রাঘিমাংশ' ] . স্থান [ বহিরাগত ] = তথ্য [ 'দ্রাঘিমাংশ' ] . মধ্যমা ( )

# 'ইউনিট বিক্রি' কলামে বহিরাগতদের সনাক্ত করুন এবং পরিচালনা করুন
বহিরাগত = সনাক্তকরণ ( তথ্য [ 'অক্ষাংশ' ] )
তথ্য [ 'অক্ষাংশ' ] . স্থান [ বহিরাগত ] = তথ্য [ 'অক্ষাংশ' ] . মধ্যমা ( )

# আউটলিয়ার পরিচালনা করার পরে প্রথম কয়েকটি সারি প্রদর্শন করুন
ছাপা ( তথ্য মাথা ( ) )

আমরা পূর্ববর্তী কোডে আউটলায়ারগুলি খুঁজে পেতে এবং ঠিক করতে একটি সহজ পদ্ধতি ব্যবহার করি। এতে ডেটার মধ্যম মানের সাথে চরম মান প্রতিস্থাপন করা জড়িত। এই কোডটি Z-স্কোর পদ্ধতি ব্যবহার করে আমাদের ডেটা সেটের 'দ্রাঘিমাংশ' এবং 'অক্ষাংশ' কলামে আউটলায়ার সনাক্ত করতে। Outliers তাদের নিজ নিজ কলামের মধ্যম মান দিয়ে প্রতিস্থাপিত হয়।

ডেটাকে একই দেখাতে, ডেটা কখনও কখনও ভিন্ন দেখাতে পারে যদিও এর অর্থ একই জিনিস। উদাহরণস্বরূপ, তারিখগুলি বিভিন্ন বিন্যাসে লেখা যেতে পারে। স্ট্যান্ডার্ডাইজেশন একটি সামঞ্জস্যপূর্ণ তথ্য বিন্যাস এবং প্রতিনিধিত্ব নিশ্চিত করা জড়িত। এর মধ্যে তারিখগুলি বিন্যাস করা, পাঠ্যটিকে ছোট হাতের অক্ষরে রূপান্তর করা বা সংখ্যাসূচক মানগুলিকে স্বাভাবিক করা অন্তর্ভুক্ত থাকতে পারে। আসুন আমাদের ডেটাসেটে 'তারিখ' কলামটিকে প্রমিত করি এবং নিশ্চিত করি যে আমাদের ডেটা একই দেখায়:

আমদানি পান্ডা হিসাবে পিডি
আমদানি নম্র হিসাবে যেমন # numpy আমদানি করুন

# ডেটা লোড করুন
তথ্য = পিডি read_csv ( 'sales_data.csv' )

# 'তারিখ' কলামটি সামঞ্জস্যপূর্ণ করুন
তথ্য [ 'তারিখ' ] = পিডি to_datetime ( তথ্য [ 'তারিখ' ] )

# দেখুন এখন কেমন লাগে
ছাপা ( তথ্য মাথা ( ) )

এই উদাহরণে, আমরা 'pd.to_datetime(data['Date'])' ফাংশন ব্যবহার করে আমাদের ডেটাসেটের তারিখের বিন্যাসটিকে পাইথনের ডেটটাইম ফর্ম্যাটে প্রমিত করি। 'তারিখ' কলামটিকে একই বিন্যাসে রূপান্তর করে, আমরা এই ডেটার সাথে কাজ করা সহজ করে তুলি৷ আউটপুট প্রমিত 'তারিখ' কলাম সহ ডেটাসেটের প্রথম কয়েকটি সারি প্রদর্শন করে।

উপসংহার

পাইথন এবং পান্ডাস ব্যবহার করে ডেটা পরিষ্কারের মাধ্যমে আমাদের যাত্রায়, আমরা বিশ্লেষণের জন্য কীভাবে আমাদের ডেটা উন্নত করতে পারি তা শিখেছি। কেন ডেটা পরিষ্কার করা এত গুরুত্বপূর্ণ তা আমরা বুঝতে শুরু করেছি। এটি আমাদের আরও ভাল সিদ্ধান্ত নিতে সাহায্য করে। আমরা অন্বেষণ করেছি কিভাবে অনুপস্থিত ডেটা মোকাবেলা করা যায়, সদৃশগুলি সরানো যায়, ডেটার প্রকারগুলি ঠিক করা যায়, আউটলায়ারগুলি পরিচালনা করা যায় এবং আমাদের ডেটাকে একই রকম দেখায়৷ এই দক্ষতাগুলির সাথে, আমরা একটি অগোছালো ডেটাকে এমন কিছুতে পরিণত করতে আরও ভালভাবে প্রস্তুত যা আমরা বিশ্বাস করতে পারি এবং একটি গুরুত্বপূর্ণ তথ্য আবিষ্কার করতে ব্যবহার করতে পারি। ডেটা পরিষ্কার করা একটি চলমান প্রক্রিয়া, যেমন আমাদের রুম পরিপাটি রাখা, এবং এটি আমাদের ডেটা বিশ্লেষণের যাত্রাকে আরও সফল করে তোলে।