orএবং andপাইথন বিবৃতি প্রয়োজন truth-values। জন্য pandasএই দ্ব্যর্থক বলে মনে করা হয় তাই আপনি ব্যবহার করা উচিত "bitwise" |(অথবা) অথবা &(এবং) অপারেশন:
result = result[(result['var']>0.25) | (result['var']<-0.25)]
উপাদান-ভিত্তিক or(বা and) উত্পাদনের জন্য এগুলি এই জাতীয় ডেটাস্ট্রাকচারের জন্য ওভারলোড হয় ।
এই বিবৃতিতে আরও কিছু ব্যাখ্যা যুক্ত করতে:
আপনি যখন এটি পেতে চান তখন ব্যতিক্রম নিক্ষেপ boolকরা হয় pandas.Series:
>>> import pandas as pd
>>> x = pd.Series([1])
>>> bool(x)
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
কি তোমাকে আঘাত একটি জায়গা যেখানে অপারেটর ছিল পরোক্ষভাবে করার operands রূপান্তরিত bool(আপনি ব্যবহার orকিন্তু এটি ঘটে and, ifএবং while):
>>> x or x
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
>>> x and x
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
>>> if x:
... print('fun')
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
>>> while x:
... print('fun')
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
এই 4 বিবৃতি ছাড়াও বেশ কিছু পাইথন ফাংশন যে কিছু লুকাতে হয় boolকল (যেমন any, all, filter, ...) কিন্তু সচরাচর তা না দিয়ে সমস্যাযুক্ত হয় pandas.Seriesকিন্তু সম্পূর্ণতার জন্য আমি এই উল্লেখ করতে চেয়েছিলেন।
আপনার ক্ষেত্রে ব্যতিক্রমটি সত্যই সহায়ক নয়, কারণ এটি সঠিক বিকল্পগুলির উল্লেখ করে না । জন্য andএবং orআপনি ব্যবহার করতে পারেন (যদি আপনি উপাদান-অনুযায়ী তুলনা চান):
আপনি যদি অপারেটরগুলি ব্যবহার করে থাকেন তবে অপারেটর প্রাধান্যের কারণে আপনি নিজের বন্ধনীটি সঠিকভাবে সেট করেছেন তা নিশ্চিত করুন ।
এখানে বেশ কয়েকটি লজিকাল নম্পী ফাংশন রয়েছে যা কাজ করা উচিতpandas.Series ।
ব্যতিক্রম বর্ণিত বিকল্পগুলি আরও উপযুক্ত হয় যদি আপনি এটি করার সময় ifবা এর মুখোমুখি হন while। আমি শীঘ্রই এর প্রতিটি ব্যাখ্যা করব:
আপনার সিরিজ খালি কিনা তা যদি আপনি পরীক্ষা করতে চান :
>>> x = pd.Series([])
>>> x.empty
True
>>> x = pd.Series([1])
>>> x.empty
False
পাইথন স্বাভাবিকভাবে ব্যাখ্যা করে len(যেমন পাত্রে GTH list, tuple, ...) হিসাবে সত্য-মান যদি এটা কোন স্পষ্ট বুলিয়ান ব্যাখ্যা হয়েছে। সুতরাং আপনি যদি অজগর মত চেক চান, আপনি করতে পারেন: if x.sizeবা if not x.emptyপরিবর্তে if x।
আপনার যদি Seriesরয়েছে এক এবং একমাত্র এক বুলিয়ান মান:
>>> x = pd.Series([100])
>>> (x > 50).bool()
True
>>> (x < 50).bool()
False
আপনি যদি নিজের সিরিজের প্রথম এবং একমাত্র আইটেমটি চেক করতে চান (যেমন .bool()তবে বুুলিয়ান সামগ্রীগুলির জন্যও কাজ করে):
>>> x = pd.Series([100])
>>> x.item()
100
যদি আপনি যাচাই করতে চান যে সমস্ত বা কোনও আইটেম শূন্য নয়, খালি নয় বা মিথ্যা নয়:
>>> x = pd.Series([0, 1, 2])
>>> x.all() # because one element is zero
False
>>> x.any() # because one (or more) elements are non-zero
True
|পরিবর্তেor