मैं डेटाफ्रेम में सभी "सत्य" घटनाओं का योग खोजने का प्रयास करता हूं

डीएफ

A   B     C   D 
1 True False True False
2 False False False True
3 True True False True
4 True False False True

परिणाम 8 . द्वारा दिखाया गया

मैंने कोशिश की

condition_total = df[df.values = True].counts()

मुझे कॉलम के लिए समाधान मिलते हैं लेकिन संपूर्ण डेटाफ़्रेम के लिए नहीं

0
Rolf12 15 फरवरी 2021, 21:39
4
दो बार योग का उपयोग करें df.sum().sum() , पहला प्रत्येक श्रृंखला के लिए योग देता है, अगला लौटाई गई श्रृंखला के लिए योग देता है
 – 
anky
15 फरवरी 2021, 21:41
np.sum डिफ़ॉल्ट रूप से समतल हो जाता है ताकि आप सरणी के विरुद्ध अपनी समानता की जांच कर सकें (df.to_numpy() == 'your_value').sum()
 – 
ALollz
15 फरवरी 2021, 22:17
आपकी सहायता के लिए बहुत - बहुत धन्यवाद!
 – 
Rolf12
17 फरवरी 2021, 10:28

1 उत्तर

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

आप एक मैट्रिक्स प्राप्त करने के लिए df == something का उपयोग कर सकते हैं, जिसके मान आपके द्वारा खोजे जा रहे डेटा के बराबर हैं। फिर आप .sum() का उपयोग करके प्रति पंक्ति परिणामों की गणना कर सकते हैं और फिर .sum() का उपयोग करके कॉलम को फिर से जोड़ सकते हैं।

निम्नलिखित कोड == False का उपयोग करके 9 और == True का उपयोग करके 7 देता है।

import pandas as pd

d = {"A": [True, False, True, True], 
     "B": [True, False, False, False], 
     "C": [True, False, False, False],
     "D": [False, True, True, False]}
df = pd.DataFrame(data=d)
condition_total = (df == False).sum().sum()
print(condition_total)

== True के साथ तुलना बेमानी है, इसलिए यह केवल df.sum().sum() हो सकती है।

0
Thomas Weller 15 फरवरी 2021, 22:07