Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Pandas में बॉक्सप्लॉट को माध्यिका मानों द्वारा सॉर्ट करें

Pandas में बॉक्सप्लॉट को माध्यिका (मेडियन) मानों के आधार पर सॉर्ट करने के लिए डेटा को ग्रुप करके माध्यिका गणना करें और फिर कॉलम ऑर्डर बदलें।

चरण

  1. फिगर आकार सेट करें और पैडिंग समायोजित करें
  2. तीन कॉलम वाला Pandas DataFrame बनाएं
  3. DataFrame को marks और dob द्वारा ग्रुप करें
  4. DataFrame की median() गणना करें
  5. माध्यिका के सॉर्टेड मान प्राप्त करें
  6. सॉर्टेड कॉलम ऑर्डर से बॉक्स प्लॉट बनाएं
  7. plt.show() से प्रदर्शित करें

उदाहरण

import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

# नमूना डेटा
df = pd.DataFrame([
    [23, 'James', 12],
    [39, 'Jimmy', 27],
    [56, 'Jack', 69],
    [60, 'Tom', 96],
    [80, 'Tim', 79]
], columns=['marks', 'names', 'dob'])

# marks और dob द्वारा ग्रुप करें
g = df.groupby(["marks", "dob"])

# प्रत्येक ग्रुप के लिए dob कॉलम निकालें
df = pd.DataFrame({col: val['dob'] for col, val in g})

# प्रत्येक कॉलम की माध्यिका गणना करें
median = df.median()

# माध्यिका के अवरोही क्रम में सॉर्ट करें
median.sort_values(ascending=False, inplace=True)

# DataFrame कॉलम को सॉर्टेड माध्यिका ऑर्डर में पुनर्व्यवस्थित करें
df = df[median.index]

# बॉक्सप्लॉट बनाएं
df.boxplot()
plt.show()

आउटपुट

बॉक्सप्लॉट जहां बॉक्स माध्यिका के अवरोही क्रम में व्यवस्थित हैं (सबसे अधिक माध्यिका बाएं, सबसे कम दाएं)।

व्याख्या

  1. groupby अद्वितीय (marks, dob) जोड़े बनाता है
  2. डिक्शनरी कॉम्प्रिहेंशन प्रत्येक ग्रुप के लिए 'dob' मान निकालता है
  3. median() प्रत्येक कॉलम की माध्यिका देता है
  4. sort_values(ascending=False) माध्यिका को बड़े से छोटे क्रम में सॉर्ट करता है
  5. df[median.index] कॉलम को सॉर्टेड ऑर्डर में पुनर्व्यवस्थित करता है
  6. boxplot() नए कॉलम ऑर्डर में प्लॉट करता है

सरल विकल्प (Seaborn)

import seaborn as sns

# Seaborn में order पैरामीटर से सीधे सॉर्ट करें
sns.boxplot(data=df, order=median.index)

उपयोग के मामले

तुलनात्मक विश्लेषण में जब आप समूहों को उनके केंद्रीय प्रवृत्ति (माध्यिका) के आधार पर व्यवस्थित करना चाहते हैं, तो यह तकनीक बहुत उपयोगी है।

  1. - पायथन में लिस्ट में ऑब्जेक्ट्स को कैसे सॉर्ट करें?

    इंट्स, फ्लोट्स, स्ट्रिंग्स, चैर्स या किसी अन्य क्लास की लिस्ट को सॉर्ट करने के लिए जिसने __cmp__ मेथड लागू किया है, उसे केवल लिस्ट पर sort कॉल करके सॉर्ट किया जा सकता है। यदि आप लिस्ट को रिवर्स ऑर्डर (डिसेंडिंग) में सॉर्ट करना चाहते हैं, तो बस रिवर्स पैरामीटर भी पास करें। उदाहरण my_list = [1, 5, 2

  1. - Python में Dictionary को Values के अनुसार कैसे Sort करें?

    Python में Dictionary को Values द्वारा Sort करना Python के Standard Library में collections मॉड्यूल होता है जिसमें High-Performance Container Data Types की परिभाषाएं होती हैं। OrderedDict Dictionary का एक Subclass है जो Dictionary Object में Add की गई Entries के Order को याद रखता है। जब हम Ordered

  1. - Python में Dictionary के सभी Values कैसे Print करें?

    Dictionary के सभी Values प्राप्त करना Dictionary Object में values() Method होता है जो इस कार्य को हमारे लिए करता है। values() Method का उपयोग >>> D1 = {1:a, 2:b, 3:c} >>> D1.values() dict_values([a, b, c]) >>> list(D1.values()) [a, b, c] Keys के माध्यम से Iterate करके