मेरे पास इस तरह एक पांडा डेटा फ्रेम (X11) है: वास्तविक में मेरे पास dx99 तक 99 कॉलम हैं
dx1 dx2 dx3 dx4
0 25041 40391 5856 0
1 25041 40391 25081 5856
2 25041 40391 42822 0
3 25061 40391 0 0
4 25041 40391 0 5856
5 40391 25002 5856 3569
मैं 25041,40391,5856 जैसे सेल वैल्यू के लिए अतिरिक्त कॉलम (ओं) बनाना चाहता हूं, इसलिए किसी भी dxs कॉलम में उस विशेष पंक्ति में 1 या 0 के रूप में मान के साथ एक स्तंभ 25041 होगा। मैं इस कोड का उपयोग कर रहा हूं और यह काम करता है जब पंक्तियों की संख्या कम होती है।
mat = X11.as_matrix(columns=None)
values, counts = np.unique(mat.astype(str), return_counts=True)
for x in values:
X11[x] = X11.isin([x]).any(1).astype(int)
मुझे इस तरह से परिणाम मिल रहा है:
dx1 dx2 dx3 dx4 0 25002 25041 25061 25081 3569 40391 42822 5856
25041 40391 5856 0 0 0 1 0 0 0 1 0 1
25041 40391 25081 5856 0 0 1 0 1 0 1 0 1
25041 40391 42822 0 0 0 1 0 0 0 1 1 0
25061 40391 0 0 0 0 0 1 0 0 1 0 0
25041 40391 0 5856 0 0 1 0 0 0 1 0 1
40391 25002 5856 3569 0 1 0 0 0 1 1 0 1
जब पंक्तियों की संख्या कई हजारों या लाखों में होती है, तो यह लटका रहता है और हमेशा के लिए ले जाता है और मुझे कोई परिणाम नहीं मिल रहा है। कृपया देखें कि बहु स्तंभों में दोहराए जाने के बजाय सेल मान स्तंभ के लिए अद्वितीय नहीं हैं। उदाहरण के लिए, 40391 dx1 के साथ-साथ dx2 में भी हो रहा है और 0 और 5856 इत्यादि के लिए। कोई भी विचार है कि ऊपर उल्लिखित तर्क को कैसे सुधारें?