मैं पांडा डेटाफ़्रेम में कुछ डेटा संग्रहीत कर रहा हूँ। साथ ही, मैं डेटा दिखाने वाले प्लॉट बनाने के लिए matplotlib का उपयोग कर रहा हूं। कृपया इस खूबसूरत तस्वीर को देखें:
लाल रेखा x अक्ष बिंदुओं के अनुरूप कुछ मान दिखाती है। यह डेटाफ्रेम में सिर्फ एक कॉलम है। मैं एक्स अक्ष बिंदुओं को वर्गीकृत करते हुए अतिरिक्त एनोटेशन जोड़ना चाहता हूं। उन श्रेणियों को मूल डेटाफ़्रेम में अतिरिक्त कॉलम के रूप में संग्रहीत किया जाता है। जरूरी नहीं कि यह तस्वीर में बिल्कुल जैसा दिख रहा हो।
लक्ष्य किसी भी तरह एक्स अक्ष श्रेणी वर्गीकरण दिखाना है। ऐसी टिप्पणी जोड़ने का एक स्मार्ट और सुरुचिपूर्ण तरीका क्या है?
1 उत्तर
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# Create sample data
df = pd.DataFrame({'Data': [np.sin(i) + 3 for i in np.arange(1, 11, 0.1)],
'Annotation': ['A'] * 10 + ['B'] * 20 + [np.nan] * 10 +
['C'] * 10 + ['D'] * 10 + [np.nan] * 20 +
['D'] * 20})
# Get unique annotations
annotation_symbols = [i for i in df['Annotation'].unique() if not pd.isnull(i)]
# Transform each unique text annotation into a new column,
# where ones represent the corresponding annotation being 'active' and
# NaNs represent the corresponding annotation being 'inactive'
df = pd.concat([df, pd.get_dummies(df['Annotation']).replace(0, np.nan)])
plt.style.use('ggplot') # Let's use nicer style
ax = plt.figure(figsize=(7, 5)).add_subplot(111)
df.plot.line(x=df.index, y='Data', ax=ax)
df.plot.line(x=df.index, y=annotation_symbols, ax=ax)
उत्पादित आंकड़ा:
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।
['a', 'a', NaN, 'a', 'b' .... ]
इसलिए प्रत्येक इंडेक्स में एक संबंधित श्रेणी होती है।