inplace
পরামিতি:
df.dropna(axis='index', how='all', inplace=True)
মধ্যে Pandas
এবং সাধারণ অর্থ হলো:
1. পান্ডস মূল তথ্যটির একটি অনুলিপি তৈরি করে
২. ... এটিতে কিছু গণনা করে
3. ... ফলাফলগুলি মূল ডেটাতে বরাদ্দ করে।
৪. ... অনুলিপি মুছে দেয়।
আপনি আমার উত্তর বাকি পড়তে পারেন যা নিচে, আমরা এখনও করতে পারেন অর্থাত এই প্যারামিটারটি ব্যবহার করা উত্তম কারণ রয়েছে inplace operations
, কিন্তু আমরা, আমরা যদি তা এড়িয়ে চলা উচিত হিসাবে এটি আরো সমস্যা জেনারেট করেন, যেমন:
1. আপনার কোডটি ডিবাগ করা আরও শক্ত হবে (প্রকৃতপক্ষে সেটিংউথকপি ওয়ার্নিং আপনাকে এই সম্ভাব্য সমস্যার প্রতি সতর্ক করার জন্য দাঁড়িয়েছে)
2. পদ্ধতি শৃঙ্খল সঙ্গে বিরোধ
আমাদের এমনকি এটি ব্যবহার করা উচিত যখন এমনকি কেস আছে?
অবশ্যই হ্যাঁ. যদি আমরা বিশাল ডেটাসেট হ্যান্ডেল করার জন্য পান্ডাস বা কোনও সরঞ্জাম ব্যবহার করি তবে আমরা সহজেই পরিস্থিতির মুখোমুখি হতে পারি, যেখানে কিছু বড় ডেটা আমাদের পুরো স্মৃতি গ্রাস করতে পারে। এই অযাচিত প্রভাব এড়াতে আমরা কিছু প্রযুক্তি যেমন পদ্ধতি শৃঙ্খলা ব্যবহার করতে পারি :
(
wine.rename(columns={"color_intensity": "ci"})
.assign(color_filter=lambda x: np.where((x.hue > 1) & (x.ci > 7), 1, 0))
.query("alcohol > 14 and color_filter == 1")
.sort_values("alcohol", ascending=False)
.reset_index(drop=True)
.loc[:, ["alcohol", "ci", "hue"]]
)
যা আমাদের কোডটিকে আরও কমপ্যাক্ট করে তোলে (তবুও ব্যাখ্যা করা ও ডিবাগ করা আরও শক্ত) এবং শৃঙ্খলিত পদ্ধতিগুলি অন্য পদ্ধতির প্রত্যাবর্তিত মানগুলির সাথে কাজ করে বলে কম মেমরি গ্রহণ করে, ফলে ইনপুট ডেটার কেবল একটি অনুলিপি তৈরি হয়। আমরা পরিষ্কারভাবে দেখতে পাচ্ছি, আমাদের এই ক্রিয়াকলাপের পরে 2 x অরিজিনাল ডেটা মেমরির খরচ হবে।
অথবা আমরা inplace
প্যারামিটারটি ব্যবহার করতে পারি (যদিও এটি ব্যাখ্যা করতে এবং ডিবাগ করা আরও শক্ত) তবে আমাদের মেমরির খরচ 2 x মূল ডেটা হবে তবে এই অপারেশনের পরে আমাদের মেমরির খরচ 1 x মূল ডেটা থেকে যায় , যা যদি কেউ যখনই বিশাল ডেটাসেটের সাথে কাজ করে ঠিক তখন জানতে পারে তবে এটি হতে পারে বড় সুবিধা
চূড়ান্ত উপসংহার:
inplace
প্যারামিটার ব্যবহার এড়িয়ে চলুন যতক্ষণ না আপনি বিশাল ডেটা নিয়ে কাজ না করেন এবং এটি ব্যবহারের ক্ষেত্রে এর সম্ভাব্য সমস্যা সম্পর্কে অবহিত না হন।
inplace=True
রিটার্নগুলিNone
inplace=False
অপারেশন সম্পাদন করে অবজেক্টের একটি অনুলিপি দেয়। ডক্সগুলি এ সম্পর্কে খুব স্পষ্ট, এমন কোনও কিছু রয়েছে যা একটি নির্দিষ্ট অংশের সাথে বিভ্রান্ত করছে? স্পষ্টতঃIf True, do operation inplace and return None.