मैंने हाल ही में आर से पायथन तक स्विच किया है और आर के डेटाटेबल का उपयोग करने के विरोध में फिर से डेटा फ्रेम में उपयोग करने में कुछ परेशानी हो रही है। मेरी समस्या यह है कि मैं स्ट्रिंग्स की एक सूची लेना चाहता हूं, एक मान की जांच करूँगा, फिर उस स्ट्रिंग की गिनती को जोड़ दूंगा- उपयोगकर्ता द्वारा टूटा हुआ।पांडा के लिए सशर्त रकम कुल
A_id B C
1: a1 "up" 100
2: a2 "down" 102
3: a3 "up" 100
3: a3 "up" 250
4: a4 "left" 100
5: a5 "right" 102
और वापसी:: तो मैं इस डेटा लेना चाहते हैं
A_id_grouped sum_up sum_down ... over_200_up
1: a1 1 0 ... 0
2: a2 0 1 0
3: a3 2 0 ... 1
4: a4 0 0 0
5: a5 0 0 ... 0
इससे पहले कि मैं आर कोड के साथ यह किया (data.table का उपयोग कर)
>DT[ ,list(A_id_grouped, sum_up = sum(B == "up"),
+ sum_down = sum(B == "down"),
+ ...,
+ over_200_up = sum(up == "up" & < 200), by=list(A)];
हालांकि
के सभी पाइथन के साथ मेरे हालिया प्रयासों ने मुझे असफल कर दिया है:
DT.agg({"D": [np.sum(DT[DT["B"]=="up"]),np.sum(DT[DT["B"]=="up"])], ...
"C": np.sum(DT[(DT["B"]=="up") & (DT["C"]>200)])
})
अग्रिम धन्यवाद! यह एक साधारण सवाल की तरह लगता है हालांकि मुझे इसे कहीं भी नहीं मिला।