डेटा प्रीप्रोसेसिंग के चरण में पांडा अब तक हमारी सहायता कर रहे हैं। हालाँकि, एक उदाहरण में, हिस्टोग्राम बनाते समय, हमने पांडा के एक अन्य मॉड्यूल का भी उपयोग किया है - plotting
.
हमने जानबूझकर अब तक इसे टाला है, क्योंकि इसे पहले पेश करने से उत्तर मिलने की बजाय अधिक प्रश्न उठेंगे। अर्थात्, पांडा और मैटप्लोटलिब इतनी आम सर्वव्यापी जोड़ी थी कि पांडों ने मैटप्लोटलिब की कार्यक्षमता को एकीकृत करना शुरू कर दिया है। यह भारी किसी भी वास्तविक प्लॉटिंग को करने के लिए Matplotlib पर निर्भर करता है, और आपको स्रोत कोड में लिपटे कई Matplotlib फ़ंक्शन मिलेंगे। वैकल्पिक रूप से, आप प्लॉटिंग के लिए अन्य बैकएंड का उपयोग कर सकते हैं, जैसे Plotly और bokeh.
हालाँकि, पांडा हमें कुछ कथानकों से भी परिचित कराते हैं नहीं रहे मैटप्लोटलिब के मानक प्लॉट प्रकारों का एक हिस्सा, जैसे केडीई, एंड्रयूज कर्व्स, बूटस्ट्रैप प्लॉट और स्कैटर मैट्रिसेस.
RSI plot()
पंडों का कार्य DataFrame
द्वारा निर्दिष्ट बैकएंड का उपयोग करता है plotting.backend
, और पर निर्भर करता है kind
तर्क - दी गई लाइब्रेरी का उपयोग करके एक प्लॉट तैयार करता है। चूंकि इनमें से बहुत सारे ओवरलैप होते हैं - जैसे प्लॉट प्रकारों को कवर करने का कोई मतलब नहीं है line
, bar
, hist
और scatter
. वे उसी कोड के साथ वही प्लॉट तैयार करेंगे जैसा हम अब तक मैटप्लोटलिब के साथ कर रहे हैं।
हम केवल संक्षेप में एक नजर डालेंगे plot()
कार्य क्योंकि अंतर्निहित तंत्र का अब तक पता लगाया जा चुका है। इसके बजाय, आइए हम कुछ कथानकों पर ध्यान केंद्रित करें नहीं कर सकता पहले से ही Matplotlib के साथ आसानी से करें।
यह एक बहुत ही छोटा अध्याय होगा, क्योंकि पंडों की प्लॉटिंग और विज़ुअलाइज़ेशन क्षमताएं मैटप्लोटलिब की तुलना में फीकी हैं - लेकिन इनमें से कुछ के बारे में जानना अभी भी उपयोगी है, साथ ही प्लॉट करने की क्षमता से अवगत होना भी उपयोगी है। DataFrame
सीधे है।
RSI डेटाफ़्रेम.प्लॉट() समारोह
RSI plot()
फ़ंक्शन स्वीकार करता है x
और y
विशेषताएं, और ए kind
तर्क। वैकल्पिक रूप से, से बचने के लिए kind
तर्क, आप भी कॉल कर सकते हैं DataFrame.plot.kind()
इसके बजाय, और इसमें पास करें x
और y
विशेषताएं।
के लिए स्वीकृत मान kind
तर्क हैं: line
, bar
, barh
(क्षैतिज पट्टी), hist
, box
, kde
, density
(के लिए पर्यायवाची kde
), area
, pie
, scatter
और hexbin
(हीटमैप के समान)।
import pandas as pd
from matplotlib import pyplot as plt df = pd.read_csv('gdp_csv.csv')
df_eu = df.loc[df['Country Name'] == 'European Union'] df_eu.plot.bar(x = 'Year', y = 'Value')
df_eu.plot.line(x = 'Year', y = 'Value')
df_eu.plot.box(x='Value') plt.show()
प्रदान करने के बजाय Series
उदाहरण जैसे हम मैटप्लोटलिब के लिए करते हैं - यह प्रदान करने के लिए पर्याप्त है स्तंभ नाम, और चूँकि आप कॉल कर रहे हैं plot()
पर समारोह DataFrame
आप कल्पना कर रहे हैं, पांडा के लिए इन स्ट्रिंग मानों को उचित कॉलम नामों में मैप करना आसान है।
इनमें से प्रत्येक कॉल एक नई कॉल करती है Figure
उदाहरण और उस पर उचित मान प्लॉट करें:
एक ही पर अनेक अक्षों को आलेखित करना Figure
, आप एक बना सकते हैं Figure
और एक या अधिक Axes
के माध्यम से plt.subplots()
और उचित असाइन करें Axes
को ax
प्रत्येक का तर्क plot.plot_type()
फोन:
import pandas as pd
from matplotlib import pyplot as plt df = pd.read_csv('gdp_csv.csv')
df_eu = df.loc[df['Country Name'] == 'European Union'] fig, ax = plt.subplots(3, 1) df_eu.plot.box(x='Value', ax = ax[0])
df_eu.plot.line(x = 'Year', y = 'Value', ax = ax[1])
df_eu.plot.bar(x = 'Year', y = 'Value', rot = 45, ax = ax[2]) plt.show()
कुछ मानक तर्क, जैसे कि rotation
तर्क वास्तव में भिन्न हैं plot()
कॉल. उदाहरण के लिए, rotation
को छोटा किया जाता है rot
. इससे यह थोड़ा मुश्किल हो जाता है बस स्विच करें मैटप्लोटलिब और पंडों के बीच, क्योंकि आप संभवतः दस्तावेज़ीकरण पृष्ठों में समाप्त हो जाएंगे, बस यह जांचेंगे कि कौन से तर्क लागू किए जा सकते हैं और कौन से नहीं।
अब, एक नया बनाने के बजाय Figure
or Axes
उदाहरण के लिए, इनमें से प्रत्येक प्लॉट को उपयुक्त स्थान पर तैनात किया जाएगा Axes
ऐसे उदाहरण जिन्हें हमने उन्हें प्रदान किया है:
सामान्य तौर पर, पांडा के साथ प्लॉटिंग करना सुविधाजनक और त्वरित है - लेकिन फिर भी, बार प्लॉट्स, लाइन प्लॉट्स और बॉक्स प्लॉट्स की प्लॉटिंग के लिए, आप शायद मैटप्लोटलिब के साथ जाना चाहेंगे। यह दोनों अंतर्निहित इंजन हैं जो पांडा अनिवार्य रूप से उपयोग करते हैं, और इसमें अधिक अनुकूलन विकल्प भी हैं, और आपको तर्कों का एक नया सेट याद नहीं रखना होगा जिसे आप पांडा प्लॉट के साथ उपयोग कर सकते हैं।
ऐसा कहा जा रहा है कि, कुछ भूखंडों के लिए, आप प्राथमिकता देना चाह सकते हैं पांडा, क्योंकि उन्हें मैन्युअल रूप से Matplotlib में बनाना होगा, और उनमें से कुछ को बनाने में इतनी परेशानी होती है कि यह प्रयास के लायक नहीं है, जैसे कि KDE लाइनें।
पांडा' अंकन मॉड्यूल
क्या DataFrame
विज़ुअलाइज़ेशन के संदर्भ में इसे पेश करना हमारे लिए बहुत नया नहीं है। हालाँकि, अंतर्निहित मॉड्यूल जिसे वे कहते हैं, pandas.plotting
करता है। plotting
मॉड्यूल में कई फ़ंक्शन हैं जिनका हम उपयोग कर सकते हैं, जैसे autocorrelation_plot()
, bootstrap_plot()
, तथा scatter_matrix()
.
इनमें से प्रत्येक या तो स्वीकार करता है Series
या एक DataFrame
, उनके द्वारा उत्पादित विज़ुअलाइज़ेशन के प्रकार के साथ-साथ प्लॉटिंग विनिर्देश और स्टाइलिंग उद्देश्यों के लिए कुछ मापदंडों पर निर्भर करता है।
बूटस्ट्रैप प्लॉट
bootstrapping किसी डेटासेट का बेतरतीब ढंग से नमूना लेने (प्रतिस्थापन के साथ) और सटीकता के उपायों की गणना करने की प्रक्रिया है पूर्वाग्रह, झगड़ा और विश्वास अंतराल यादृच्छिक नमूनों के लिए. "प्रतिस्थापन के साथ", व्यावहारिक रूप से, इसका मतलब है कि प्रत्येक यादृच्छिक रूप से चयनित तत्व को फिर से चुना जा सकता है। स्थानापन्न के बिना इसका मतलब है कि प्रत्येक यादृच्छिक रूप से चयनित तत्व के बाद, इसे अगले नमूने के लिए पूल से हटा दिया जाता है।
A बूटस्ट्रैप प्लॉटपांडा द्वारा निर्मित, नमूने के आधार पर डेटासेट के माध्य, मध्य और मध्य-श्रेणी के आँकड़ों को बूटस्ट्रैप करता है size
, जिसके बाद कथानक को बाद में दिखाया जाता है plt.show()
. के लिए डिफ़ॉल्ट तर्क size
और samples
रहे 50
और 500
क्रमशः.
इसका मतलब है कि एक सुविधा के लिए, हम नमूना लेते हैं 50
मूल्य. फिर, उन 50 मानों के लिए एक 50-तत्व उप-नमूना तैयार किया जाता है (सिंथेटिक डेटा) और उनके लिए एक सारांश आँकड़ा (माध्य/मध्य/मध्य-सीमा) की गणना की जाती है। यह प्रक्रिया दोहराई जाती है 500
कई बार, तो अंत में, हमें 500 सारांश आँकड़े मिले:
import pandas as pd
from matplotlib import pyplot as plt df = pd.read_csv('./datasets/gdp_csv.csv')
df_eu = df.loc[df['Country Name'] == 'European Union'] pd.plotting.bootstrap_plot(df_eu['Value']) plt.show()
स्वसहसंबंध प्लॉट
स्वसहसंबंध भूखंड समय-श्रृंखला डेटा के लिए डेटा यादृच्छिकता की जांच करने के लिए उपयोग किया जाता है। विभिन्न स्वसहसंबंध अलग-अलग टाइमस्टैम्प के लिए गणना की जाती है, और यदि डेटा वास्तव में यादृच्छिक है - सहसंबंध शून्य के करीब होगा। यदि नहीं - सहसंबंध शून्य से बड़ा होगा।
आइए दो ऑटोसहसंबंध प्लॉट प्लॉट करें - एक हमारे साथ वैल्यू सुविधा, और एक के साथ एक Series
यादृच्छिक मानों से भरा हुआ:
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt df = pd.read_csv('gdp_csv.csv')
# Filter DataFrame for the EU
df_eu = df.loc[df['Country Name'] == 'European Union']
# Generate 50 random integers between 0 and 100, and turn into a Series
random_series = pd.Series(np.random.randint(0, 100, size=50)) # Plot Autocorrelation Plot for the *Value* feature
pd.plotting.autocorrelation_plot(df_eu['Value'])
# Plot Autocorrelation Plot for the *random_series*
pd.plotting.autocorrelation_plot(random_series) plt.show()
के लिए ऑटोसहसंबंध प्लॉट random_series
चारों ओर घूमना चाहिए 0
, क्योंकि यह यादृच्छिक डेटा है, जबकि इसके लिए प्लॉट Value
सुविधा नहीं होगी:
यह ध्यान देने योग्य है कि ऑटोसहसंबंध एक को मापता है प्रपत्र यादृच्छिकता का, असंबंधित, लेकिन गैर-यादृच्छिक डेटा मौजूद है। यदि यह गैर-यादृच्छिक है, लेकिन इसमें कोई महत्वपूर्ण सहसंबंध नहीं है - ऑटोसहसंबंध प्लॉट इंगित करेगा कि डेटा यादृच्छिक है।
स्कैटर मैट्रिसेस
स्कैटर मैट्रिसेस प्लॉट ए ग्रिड सभी सुविधाओं के विरुद्ध सभी सुविधाओं के लिए स्कैटर प्लॉट्स का। चूँकि यह अनिवार्य रूप से प्रत्येक सुविधा की तुलना स्वयं से करता है, साथ ही - विकर्ण जहां ऐसा होता है उसे आम तौर पर a से बदल दिया जाता है हिस्टोग्राम स्कैटर प्लॉट के बजाय उस सुविधा का। स्कैटर मैट्रिसेस के रूप में भी जाना जाता है जोड़ी प्लॉट, और सीबॉर्न एक ऑफर करता है pairplot()
बस इसके लिए कार्य करें।
RSI scatter_matrix()
फ़ंक्शन स्वीकार करता है a DataFrame
और इसकी सभी संख्यात्मक विशेषताओं के लिए एक स्कैटर मैट्रिक्स तैयार करता है, और एक 2डी सरणी लौटाता है Axes
ऐसे उदाहरण जिनमें स्कैटर मैट्रिक्स शामिल है। उनके बारे में कुछ भी संशोधित करने के लिए, आप उनके माध्यम से पुनरावृति करना चाहेंगे:
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt df = pd.read_csv('worldHappiness2019.csv') axes = pd.plotting.scatter_matrix(df, diagonal='hist') for ax in axes.flatten(): # Rotate back to 0 degrees since they're automatically rotated by 90 ax.yaxis.label.set_rotation(0) # As to not overlap with the Axes instances, set the ticklabel # alignment to 'right' ax.yaxis.label.set_ha('right') plt.show()
इसके परिणामस्वरूप अन्य सभी सुविधाओं की तुलना में सभी सुविधाओं का एक बड़ा स्कैटर मैट्रिक्स बनता है:
आप भी इसमें पास हो सकते हैं diagonal
तर्क, जो स्वीकार करता है 'hist'
or 'kde'
यह निर्दिष्ट करने के लिए कि आप किस प्रकार के वितरण प्लॉट को विकर्ण पर प्लॉट करना चाहते हैं, साथ ही alpha
, स्कैटर प्लॉट्स में मार्करों की पारभासी निर्दिष्ट करना।
- 100
- About
- सब
- पहले ही
- अन्य
- तर्क
- चारों ओर
- जा रहा है
- बिट
- मुक्केबाज़ी
- कॉल
- क्षमताओं
- अध्याय
- जाँच
- कोड
- स्तंभ
- सामान्य
- देश
- युगल
- बनाना
- तिथि
- विभिन्न
- वितरण
- यूरोपीय
- यूरोपीय संघ
- उदाहरण
- Feature
- विशेषताएं
- फोकस
- समारोह
- कार्यक्षमता
- सामान्य जानकारी
- उत्पन्न
- HTTPS
- IT
- जानने वाला
- बड़ा
- बड़ा
- पुस्तकालय
- लाइन
- नक्शा
- मैट्रिक्स
- अधिकांश
- यानी
- नामों
- निकट
- प्रस्ताव
- ऑफर
- ऑप्शंस
- अन्य
- चरण
- पूल
- प्रक्रिया
- उत्पादन
- प्रदान करना
- प्रयोजनों
- उठाना
- RE
- प्रतिस्थापित
- परिणाम
- रिटर्न
- कहा
- चयनित
- सेट
- कम
- महत्वपूर्ण
- समान
- So
- स्रोत कोड
- विनिर्देश
- शुरू
- आँकड़े
- स्रोत
- यहाँ
- संघ
- us
- मूल्य
- दृश्य
- क्या
- विकिपीडिया
- लायक
- X
- वर्ष
- शून्य