हालाँकि यह प्रश्न कुछ हद तक पिछले वाले के समान लगता है, मैं इसे पिछले उत्तरों से हल नहीं कर सकता था और मुझे विशेषज्ञों की मदद चाहिए।

मैं एक शर्त (उदाहरण के लिए कॉलम तत्व> 1) के साथ 'X_' से शुरू होने वाले लेबल वाले अन्य कॉलम की गिनती के साथ एक कॉलम (उदा। 'परिणाम') बनाने की कोशिश कर रहा हूं।

df1 = pd.DataFrame(np.array([[1, 0, 2], [2, 3, 1], [3, 0, 3]]), columns=['A', 'X_1', 'X_2'])
df1

    A   X_1 X_2
0   1   0   2
1   2   3   1
2   3   0   3

वांछित आउटपुट है:

df1
    A   X_1 X_2 Result
0   1   0   2   1
1   2   3   1   2
2   3   0   3   1

क्या आप मेरी मदद कर सकते हैं?

एक नौसिखिया पांडा उपयोगकर्ता

1
Help needed 5 सितंबर 2021, 11:27

2 जवाब

सबसे बढ़िया उत्तर

हम filter के लिए DataFrame कर सकते हैं X_ से शुरू होने वाले कॉलम का परीक्षण करते हैं ge (इससे बड़ा या इसके बराबर) 1 और sum प्रत्येक पंक्ति (axis=1) के लिए True मानों की संख्या गिनने के लिए:

df1['Result'] = df1.filter(regex='^X_').ge(1).sum(axis=1)

df1:

   A  X_1  X_2  Result
0  1    0    2       1
1  2    3    1       2
2  3    0    3       1
2
Henry Ecker 5 सितंबर 2021, 08:31

gt और sum के साथ प्रयास करें:

>>> df1['Result'] = df1.gt(0).sum(1) - df1['A'].gt(0)
>>> df1
   A  X_1  X_2  Result
0  1    0    2       1
1  2    3    1       2
2  3    0    3       1
>>> 
1
U12-Forward 5 सितंबर 2021, 08:33