शुरू करेंमुफ़्त में शुरू करें

Pandas में Grouping से D की गणना

DataFrame के उपसमूहों पर कैलकुलेशन इतना आम है कि pandas हमें loop की जगह एक विकल्प देता है: groupby मेथड। सैंपल कोड में, groupby का उपयोग पहले tracts को state के अनुसार ग्रुप करने के लिए किया गया है, यानी "state" कॉलम में समान मान वाली पंक्तियाँ एक साथ ली गई हैं। कॉलम्स पर sum() मेथड को प्रत्येक ग्रुप पर लागू किया गया है.

इस अभ्यास में merge का भी उपयोग है, जो एक और उपयोगी pandas मेथड है, ताकि grouped sums को individual tracts से जोड़ा जा सके। अभी सिंटैक्स की चिंता न करें। merge की विस्तार से चर्चा आगे के लेसन में की जाएगी.

pandas को usual alias के साथ इम्पोर्ट किया गया है, और white तथा black population कॉलम्स वाला tracts DataFrame लोड किया गया है। वैरिएबल w और b को क्रमशः "white" और "black" कॉलम नामों के साथ परिभाषित किया गया है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में US Census डेटा का विश्लेषण

पाठ्यक्रम देखें

अभ्यास निर्देश

  • groupby का उपयोग करके sums_by_state बनाइए और परिणाम प्रिंट कीजिए.
  • merge का उपयोग करके tracts बनाइए और परिणाम प्रिंट कीजिए.
  • \(\left\lvert\frac{a_i}{A} - \frac{b_i}{B}\right\rvert\) की गणना कीजिए और उसे नए कॉलम D में स्टोर कीजिए। (स्मरण: White और Black आबादी के योग (\(A\) और \(B\)) पहले ही निकाले जा चुके हैं और tracts DataFrame में "_sum" suffix वाले कॉलम्स में उपलब्ध हैं.)
  • groupby मेथड का उपयोग करके state के अनुसार कॉलम D का sum लीजिए, और उसे 0.5 से गुणा कीजिए.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Sum Black and White residents grouped by state
sums_by_state = tracts.groupby("state")[[w, b]].sum()
print(sums_by_state.head())

# Merge the sum with the original tract populations
tracts = pd.merge(tracts, sums_by_state, left_on = "state", 
    right_index = True, suffixes = ("", "_sum"))
print(tracts.head())

# Calculate inner expression of Index of Dissimilarity formula
tracts["D"] = abs(tracts[____] / tracts[____ + "_sum"] - ____ / ____)

# Calculate the Index of Dissimilarity
print(0.5 * tracts.____(____)["D"].sum())
कोड संपादित करें और चलाएँ