pandas 0.23 - 9. Options and Settings

विकल्प और सेटिंग्स




pandas

विकल्प और सेटिंग्स

अवलोकन

पांडा के पास एक विकल्प प्रणाली है जो आपको इसके व्यवहार के कुछ पहलुओं को अनुकूलित करने की सुविधा देती है, प्रदर्शन से संबंधित विकल्प उन उपयोगकर्ता को समायोजित करने की सबसे अधिक संभावना है।

विकल्पों में एक पूर्ण "बिंदीदार शैली", केस-असंवेदनशील नाम (जैसे display.max_rows ) है। आप शीर्ष-स्तरीय options विशेषता के रूप में विकल्प सीधे प्राप्त / सेट कर सकते हैं:

In [1]: import pandas as pd

In [2]: pd.options.display.max_rows
Out[2]: 15

In [3]: pd.options.display.max_rows = 999

In [4]: pd.options.display.max_rows
Out[4]: 999

एपीआई 5 प्रासंगिक कार्यों से बना है, जो pandas नामस्थान से सीधे उपलब्ध है:

  • get_option() / set_option() - एकल विकल्प का मान प्राप्त / सेट करें।
  • reset_option() - उनके डिफ़ॉल्ट मान के लिए एक या अधिक विकल्प रीसेट करें।
  • description_option describe_option() - एक या अधिक विकल्पों के विवरण प्रिंट करें।
  • option_context() - निष्पादन के बाद पूर्व सेटिंग्स पर वापस जाने वाले विकल्पों के एक सेट के साथ एक option_context() निष्पादित करें।

नोट: डेवलपर्स अधिक जानकारी के लिए pandas/core/config.py बाहर की जाँच कर सकते हैं।

उपरोक्त सभी फ़ंक्शन एक तर्क के रूप में एक regexp पैटर्न ( re.search शैली) को स्वीकार करते हैं, और इसलिए एक विकल्प में पास करना काम करेगा - जब तक यह अस्पष्ट है:

In [5]: pd.get_option("display.max_rows")
Out[5]: 999

In [6]: pd.set_option("display.max_rows",101)

In [7]: pd.get_option("display.max_rows")
Out[7]: 101

In [8]: pd.set_option("max_r",102)

In [9]: pd.get_option("display.max_rows")
Out[9]: 102

निम्न कार्य नहीं करेगा क्योंकि यह कई विकल्प नामों से मेल खाता है, जैसे display.max_colwidth , display.max_rows , display.max_columns :

In [10]: try:
   ....:     pd.get_option("column")
   ....: except KeyError as e:
   ....:     print(e)
   ....: 
'Pattern matched multiple keys'

नोट: शॉर्टहैंड के इस रूप का उपयोग करने से आपका कोड टूट सकता है यदि भविष्य के संस्करणों में समान नामों के साथ नए विकल्प जोड़े जाते हैं।

आप उपलब्ध विकल्पों की सूची और उनका विवरण description_option के साथ प्राप्त कर सकते हैं। जब कोई तर्क नहीं कहा जाता है, तो सभी उपलब्ध विकल्पों के विवरणों को प्रिंट करेगा।

विकल्प प्राप्त करना और स्थापित करना

जैसा कि ऊपर वर्णित है, get_option() और set_option() पांडा नामस्थान से उपलब्ध हैं। विकल्प बदलने के लिए, set_option('option regex', new_value) कॉल करें।

In [11]: pd.get_option('mode.sim_interactive')
Out[11]: False

In [12]: pd.set_option('mode.sim_interactive', True)

In [13]: pd.get_option('mode.sim_interactive')
Out[13]: True

नोट: विकल्प 'mode.sim_interactive' का उपयोग ज्यादातर डीबगिंग उद्देश्यों के लिए किया जाता है।

सभी विकल्पों का एक डिफ़ॉल्ट मूल्य भी होता है, और आप इसे करने के लिए reset_option का उपयोग कर सकते हैं:

In [14]: pd.get_option("display.max_rows")
Out[14]: 60

In [15]: pd.set_option("display.max_rows",999)

In [16]: pd.get_option("display.max_rows")
Out[16]: 999

In [17]: pd.reset_option("display.max_rows")

In [18]: pd.get_option("display.max_rows")
Out[18]: 60

एक बार में कई विकल्पों को रीसेट करना भी संभव है (रेक्सक्स का उपयोग करके):

In [19]: pd.reset_option("^display")

option_context संदर्भ प्रबंधक को शीर्ष-स्तरीय API के माध्यम से उजागर किया गया है, जिससे आप दिए गए विकल्प मानों के साथ कोड निष्पादित कर सकते हैं। जब आप ब्लॉक से बाहर निकलते हैं तो विकल्प मान स्वतः ही बहाल हो जाते हैं:

In [20]: with pd.option_context("display.max_rows",10,"display.max_columns", 5):
   ....:      print(pd.get_option("display.max_rows"))
   ....:      print(pd.get_option("display.max_columns"))
   ....: 
10
5

In [21]: print(pd.get_option("display.max_rows"))