python - Performing bitwise operations on a dataframe -
मेरे पास इस तरह एक पांडा डेटाफ़्रेम है
में [7]: XYZ आउट [7 ]: 0 8495872 1 8496128 2 8561408 3 8561664 4 8626 9 44 5 8627200 6 8692736 7 86929 9 8 8693248 9 8693504 10 8758016 11 8758272 12 8758528 13 8758784 14 8759040 15 8823296 16 8823552 17 8823808 18 8824064 19 8824320 20 8824576 21 8824832 22 8888832 23 8890112 नाम: XYZ, dtype: int64
मैं इन मानों को 32 बिट बाइनरी में कनवर्ट करना चाहता हूं। मैंने XYZ.apply (bin) फ़ंक्शन की कोशिश की है, लेकिन यह इस तरह कुछ देता है
0 0 0 100000011010001100000000 1 0b100000011010010000000000 2 0b100000101010001100000000 3 0b100000101010010000000000 ...
वहाँ है इस अवांछित '0 बी' सामने और आउटपुट 24 बिट है इन मानों को 32 बिट में '0b' भाग के बिना कैसे सामने लाया जाता है?
रूपांतरण के बाद, मैं उन बिट के साथ कुछ बिटवर्ड और / या ऑपरेशन करने जा रहा हूं और एक नया डेटाफ्रेम उत्पन्न करता हूं। / P>
यदि आप बिट्स को हेरफेर करने जा रहे हैं, तो आपको उन्हें पहले कन्वर्ट करने की आवश्यकता नहीं है। डेटाफ्रेम के कॉलम पर बस bitwise_and
और bitwise_or
numpy फ़ंक्शंस का उपयोग करें: <14 p>
में [14]: np में np के रूप में आयात करें [15] : डीएफ ['कर्नल'] बाहर [15]: 0 5302274 1 4767983 2 6158485 3 9807950 4 4360582 5 2156122 ... में [16]: np.bitwise_and (df ['col'], 0b101010) बाहर [16]: 0 2 1 42 2 0 3 10 4 2 5 10
पंडों numpy पर निर्भर करता है, तो आप पहले से ही इसे स्थापित करना चाहिए था।
Comments
Post a Comment