पंडों के अधिक स्तंभों को देखने के लिए मैं आउटपुट डिस्प्ले का विस्तार कैसे करूं?


622

क्या इंटरएक्टिव या स्क्रिप्ट-निष्पादन मोड में आउटपुट के प्रदर्शन को चौड़ा करने का एक तरीका है?

विशेष रूप से, मैं describe()एक पांडा पर फ़ंक्शन का उपयोग कर रहा हूं DataFrame। जब DataFrame5 कॉलम (लेबल) चौड़े होते हैं, तो मुझे वर्णनात्मक आँकड़े मिलते हैं जो मुझे चाहिए। हालाँकि, यदि DataFrameकोई और कॉलम है, तो आंकड़े दबा दिए जाते हैं और कुछ इस तरह लौटा दिया जाता है:

>> Index: 8 entries, count to max  
>> Data columns:  
>> x1          8  non-null values  
>> x2          8  non-null values  
>> x3          8  non-null values  
>> x4          8  non-null values  
>> x5          8  non-null values  
>> x6          8  non-null values  
>> x7          8  non-null values  

"8" मान दिया गया है चाहे 6 या 7 कॉलम हों। "8" किसको संदर्भित करता है?

मैंने पहले से ही IDLE विंडो को बड़ा करने की कोशिश की है, साथ ही "कॉन्फ़िगर IDLE" चौड़ाई के विकल्पों को बढ़ाने के लिए, कोई फायदा नहीं हुआ।

पांडा का उपयोग करने में मेरा उद्देश्य और describe()मूल डेटा हेरफेर और जांच करने के लिए स्टाटा जैसे दूसरे कार्यक्रम का उपयोग करने से बचना है।

जवाबों:


884

अपडेट: पंडों 0.23.4 आगे

यह आवश्यक नहीं है, यदि आप सेट करते हैं तो पांडा आपके टर्मिनल विंडो के आकार को ऑटोडेक्ट करता है pd.options.display.width = 0। (पुराने संस्करणों के लिए नीचे देखें।)

pandas.set_printoptions(...)पदावनत किया गया है। इसके बजाय, उपयोग pandas.set_option(optname, val), या समकक्ष pd.options.<opt.hierarchical.name> = val। पसंद:

import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)

यहाँ मदद के लिए हैset_option :

set_option (pat, value) - निर्दिष्ट विकल्प का मान सेट करता है

उपलब्ध विकल्प:
प्रदर्शन। [chop_threshold, colheader_justify, column_space, date_dayfirst,
         date_yearfirst, एन्कोडिंग, Expand_frame_repr, float_format, height,
         लाइन_ एक्सपोज़र, max_columns, max_colwidth, max_info_columns, max_info_rows
         max_rows, max_seq_items, mpl_style, multi_sparse, नोटबुक_repr_html,
         pprint_nest_depth, परिशुद्धता, चौड़ाई]
मोड। [sim_interactive, use_inf_as_null]

पैरामीटर
----------
pat - str / regexp जो किसी एक विकल्प से मेल खाना चाहिए।

नोट: आंशिक मिलान सुविधा के लिए समर्थित हैं, लेकिन जब तक आप इसका उपयोग नहीं करते हैं
पूर्ण विकल्प का नाम (जैसे-xyzoption_name), आपका कोड भविष्य में टूट सकता है
यदि समान नाम वाले नए विकल्प पेश किए जाते हैं तो संस्करण।

मूल्य - विकल्प का नया मूल्य।

रिटर्न
-------
कोई नहीं

जन्म देती है
------
यदि ऐसा कोई विकल्प मौजूद नहीं है, तो KeyError

display.chop_threshold: [डिफ़ॉल्ट: कोई नहीं] [वर्तमान में: कोई नहीं]
: फ्लोट या कोई नहीं
        यदि फ्लोट मान पर सेट किया जाता है, तो सभी फ्लोट मान छोटे होते हैं, फिर दी गई सीमा
        ठीक 0 के रूप में प्रदर्शित किया जाएगा repr और दोस्तों द्वारा।
display.colheader_justify: [डिफ़ॉल्ट: सही] [वर्तमान: सही]
: 'बाएँ दांए'
        कॉलम हेडर के औचित्य को नियंत्रित करता है। DataFrameFormatter द्वारा उपयोग किया जाता है।
display.column_space: [डिफ़ॉल्ट: 12] [वर्तमान: 12] कोई विवरण उपलब्ध नहीं है।

display.date_dayfirst: [डिफ़ॉल्ट: गलत] [वर्तमान: गलत]
: बूलियन
        जब सही, प्रिंट और पर्स पहले दिन के साथ मिलते हैं, जैसे 20/01/2005
display.date_yearfirst: [डिफ़ॉल्ट: गलत] [वर्तमान: गलत]
: बूलियन
        जब ट्रू, प्रिंट और पर्स वर्ष के साथ पहली बार मिलता है, उदाहरण 2005/01/20
display.encoding: [डिफ़ॉल्ट: UTF-8] [वर्तमान में: UTF-8]
: str / यूनिकोड
        कंसोल की पहचान की गई एन्कोडिंग के लिए डिफ़ॉल्ट।
        To_string द्वारा दिए गए स्ट्रिंग्स के लिए उपयोग किए जाने वाले एन्कोडिंग को निर्दिष्ट करता है,
        ये आम तौर पर कंसोल पर प्रदर्शित होने वाले तार होते हैं।
display.expand_frame_repr: [डिफ़ॉल्ट: सच] [वर्तमान: सच]
: बूलियन
        क्या विस्तृत DataFrames के लिए पूरा DataFrame repr प्रिंट करना है
        कई लाइनों के पार, `max_columns` अभी भी सम्मानित है, लेकिन उत्पादन होगा
        यदि यह चौड़ाई `display. उपलब्धता` से अधिक है, तो कई" पृष्ठों "के चारों ओर लपेटें।
display.float_format: [डिफ़ॉल्ट: कोई नहीं] [वर्तमान में: कोई नहीं]
: कॉल करने योग्य
        कॉल करने योग्य को एक अस्थायी बिंदु संख्या स्वीकार करना चाहिए और वापस लौटना चाहिए
        संख्या के वांछित प्रारूप के साथ एक स्ट्रिंग। यह प्रयोग किया जाता है
        SeriesFormatter जैसी कुछ जगहों पर।
        एक उदाहरण के लिए core.format.EngFormatter देखें।
display.height: [डिफ़ॉल्ट: 60] [वर्तमान में: 1000]
: इंट
        पदावनत।
        (पदावनत, इसके बजाय `display.height` का उपयोग करें।)

display.line_width: [डिफ़ॉल्ट: 80] [वर्तमान में: 1000]
: इंट
        पदावनत।
        (पदावनत, इसके स्थान पर `display.width` का उपयोग करें।)

display.max_columns: [डिफ़ॉल्ट: 20] [वर्तमान में: 500]
: इंट
        max_rows और max_columns का उपयोग __repr __ () के तरीकों में किया जाता है अगर यह तय करने के लिए
        किसी स्ट्रिंग को ऑब्जेक्ट रेंडर करने के लिए to_string () या जानकारी () का उपयोग किया जाता है। यदि
        python / IPython एक टर्मिनल में चल रहा है, इसे 0 और पांडा पर सेट किया जा सकता है
        सही ढंग से टर्मिनल की चौड़ाई का पता लगाने और एक छोटे से स्वैप करने के लिए होगा
        सभी कॉलम लंबवत रूप से फिट नहीं होने की स्थिति में प्रारूप। IPython नोटबुक,
        IPython qtconsole, या IDLE एक टर्मिनल में नहीं चलते हैं और इसलिए यह नहीं है
        सही ऑटो-डिटेक्शन करना संभव है।
        'कोई नहीं' मूल्य का मतलब असीमित है।
display.max_colifact: [डिफ़ॉल्ट: 50] [वर्तमान में: 50]
: इंट
        के कॉलम में अक्षरों की अधिकतम चौड़ाई
        एक पांडा डेटा संरचना। जब स्तंभ ओवरफ्लो हो जाता है, तो "..."
        प्लेसहोल्डर आउटपुट में एम्बेडेड है।
display.max_info_columns: [डिफ़ॉल्ट: 100] [वर्तमान में: 100]
: इंट
        यदि निर्णय लेने के लिए max_info_columns का उपयोग DataFrame.info पद्धति में किया जाता है
        प्रति कॉलम जानकारी मुद्रित की जाएगी।
display.max_info_rows: [डिफ़ॉल्ट: 1690785] [वर्तमान में: 1690785]
: int या कोई नहीं
        max_info_rows पंक्तियों की अधिकतम संख्या है जिसके लिए एक फ्रेम होगा
        एक कंसोल को repr'ing जब अपने स्तंभों पर एक अशक्त जाँच करें।
        डिफ़ॉल्ट 1,000,000 पंक्तियाँ है। तो, अगर एक DataFrame अधिक है
        1,000,000 पंक्तियों पर कोई अशक्त जाँच नहीं होगी
        कॉलम और इस प्रकार प्रतिनिधित्व में बहुत कम समय लगेगा
        एक इंटरैक्टिव सत्र में प्रदर्शन। मूल्य का कोई नहीं हमेशा मतलब है
        repr'ing जब एक अशक्त जाँच करें।
display.max_rows: [डिफ़ॉल्ट: 60] [वर्तमान में: 500]
: इंट
        यह पंक्तियों की अधिकतम संख्या तय करता है जब मुद्रण करना चाहिए
        विभिन्न आउटपुट। उदाहरण के लिए, यह मान निर्धारित करता है कि क्या रिप्र ()
        डेटाफ्रेम के लिए पूरी तरह से या सिर्फ एक सारांश रीप्रिट प्रिंट करता है।
        'कोई नहीं' मूल्य का मतलब असीमित है।
display.max_seq_items: [डिफ़ॉल्ट: कोई नहीं] [वर्तमान: कोई नहीं]
: int या कोई नहीं

        जब सुंदर एक लंबे अनुक्रम मुद्रण, और नहीं तो `max_seq_items`
        मुद्रित किया जाएगा। यदि आइटमों को ommitted किया जाता है, तो उन्हें अतिरिक्त द्वारा निरूपित किया जाएगा
        परिणामी स्ट्रिंग के लिए "..."।

        यदि कोई नहीं पर सेट किया जाता है, तो मुद्रित की जाने वाली वस्तुओं की संख्या असीमित है।
display.mpl_style: [डिफ़ॉल्ट: कोई नहीं] [वर्तमान में: कोई नहीं]
: बूल

        इसे 'डिफ़ॉल्ट' पर सेट करने से matplotlib द्वारा उपयोग किए जाने वाले rcParams को संशोधित किया जाएगा
        डिफ़ॉल्ट रूप से भूखंडों को अधिक आकर्षक दृश्य शैली देने के लिए।
        इसे किसी को भी सेट नहीं करना / गलत तरीके से उनके प्रारंभिक मूल्य को पुनर्स्थापित करना।
display.multi_sparse: [डिफ़ॉल्ट: सच्चा] [वर्तमान: सही]
: बूलियन
        "स्पार्सिफाई" मल्टीइंडेक्स डिस्प्ले (बार-बार प्रदर्शित न करें)
        समूहों के भीतर बाहरी स्तरों में तत्व)
display.notebook_repr_html: [डिफ़ॉल्ट: ट्रू] [वर्तमान: ट्रू]
: बूलियन
        जब सही, IPython नोटबुक html प्रतिनिधित्व के लिए उपयोग करेगा
        पांडा वस्तुएं (यदि यह उपलब्ध है)।
display.pprint_nest_depth: [डिफ़ॉल्ट: 3] [वर्तमान में: 3]
: इंट
        जब सुंदर-मुद्रण करने के लिए नेस्टेड स्तर की संख्या को नियंत्रित करता है
प्रदर्शन। विस्तार: [डिफ़ॉल्ट: 7] [वर्तमान में: 7]
: इंट
        फ्लोटिंग पॉइंट आउटपुट प्रिसिजन (महत्वपूर्ण अंकों की संख्या)। ये है
        केवल एक सुझाव
प्रदर्शन: उपलब्धता: [डिफ़ॉल्ट: default०] [वर्तमान में: १०००]
: इंट
        वर्णों में प्रदर्शन की चौड़ाई। मामले में अजगर / IPython में चल रहा है
        एक टर्मिनल यह किसी को भी सेट नहीं किया जा सकता है और पांडा सही ढंग से ऑटो-डिटेक्ट करेगा
        चौड़ाई।
        ध्यान दें कि IPython नोटबुक, IPython qtconsole, या IDLE a में नहीं चलते हैं
        टर्मिनल और इसलिए चौड़ाई का सही ढंग से पता लगाना संभव नहीं है।
mode.sim_interactive: [डिफ़ॉल्ट: गलत] [वर्तमान: गलत]
: बूलियन
        परीक्षण के प्रयोजनों के लिए इंटरैक्टिव मोड का अनुकरण करना है या नहीं
mode.use_inf_as_null: [डिफ़ॉल्ट: गलत] [वर्तमान: गलत]
: बूलियन
        सच्चा मतलब कोई नहीं, NaN, INF, -INF को अशक्त (पुराना तरीका) मानते हैं,
        असत्य का अर्थ है, कोई नहीं और NaN शून्य हैं, लेकिन INF, -INF शून्य नहीं हैं
        (नया रास्ता)।
कॉल डिफ: pd.set_option (स्वयं, * आर्ग्स, ** kwds)

EDIT: पुराने संस्करण की जानकारी, इसमें से बहुत कुछ हटा दिया गया है।

जैसा कि @bmu ने उल्लेख किया है , पंडास ऑटो डिस्प्ले (डिफ़ॉल्ट रूप से) डिस्प्ले क्षेत्र के आकार का पता लगाता है, एक सारांश दृश्य का उपयोग तब किया जाएगा जब कोई ऑब्जेक्ट रीप डिस्प्ले पर फिट नहीं होता है। आपने बिना किसी प्रभाव के IDLE विंडो का आकार बदलने का उल्लेख किया है। यदि आप print df.describe().to_string()इसे IDLE विंडो पर फिट करते हैं?

टर्मिनल का आकार निर्धारित pandas.util.terminal.get_terminal_size()(हटाए गए और हटाए गए) द्वारा निर्धारित किया जाता है , यह एक ट्यूपल (width, height)को प्रदर्शित करता है जिसमें डिस्प्ले होता है। क्या आउटपुट आपके IDLE विंडो के आकार से मेल खाता है? कोई समस्या हो सकती है (emacs में एक टर्मिनल चलाने से पहले एक था)।

ध्यान दें कि ऑटोडेट को बायपास करना संभव है, pandas.set_printoptions(max_rows=200, max_columns=10)कभी भी सारांश दृश्य पर स्विच नहीं करेंगे यदि पंक्तियों की संख्या, कॉलम दिए गए सीमा से अधिक नहीं हैं।


प्रत्येक कॉलम के असत्य रूप को देखने में 'max_colwidth' विकल्प मदद करता है।

TruncatedColumnDisplay


4
display.height: पदावनत, display.heightइसके बजाय का उपयोग करें ... मैं मृत लूप में हूं।
फ्रोजन फ्लेम

5
आजकल के विकल्पों को भी असाइनमेंट केpd.options रूप में सेट किया जा सकता है , जैसेpd.options.display.max_rows = 999
unutbu

2
'Display.height' संपत्ति को हटा दिया गया है।
ग्रेग एम। क्रसक

2
पंडों में मेरे लिए काम नहीं किया 0.23.2।
डेविनबॉस्ट

6
आप option_context का उपयोग करना चाह सकते हैं ताकि विकल्प परिवर्तन आपके द्वारा काम की जाने वाली चीज़ के लिए स्थानीय हो। यह गलती से आपके अगले कॉल पर .head()या जो भी हो , कबाड़ के 400 पन्नों को प्रिंट करने से रोकता है ।
माइक विलियमसन

195

इसे इस्तेमाल करे:

pd.set_option('display.expand_frame_repr', False)

प्रलेखन से:

display.expand_frame_repr: बूलियन

चाहे पूरे DataFrame repr को कई लाइनों में विस्तृत DataFrames के लिए प्रिंट करना हो, फिर भी max_columns का सम्मान किया जाता है, लेकिन अगर यह चौड़ाई प्रदर्शन से अधिक हो जाती है, तो आउटपुट कई "पृष्ठों" के चारों ओर लपेटेगा। [डिफ़ॉल्ट: सच] [वर्तमान में: सच]

देखें: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.set_option.html


6
यह एक मेरे लिए काम करता है। ऐसा लगता है कि पांडा किसी कारण से उत्पादन की चौड़ाई को कम कर देता है, और अनावश्यक रूप से स्तंभों को तोड़ देता है।
zbyszek

5
मुझे सचमुच हर दिन ऐसा करना पड़ता है ... क्या विश्व स्तर पर इसे स्थापित करने का कोई तरीका है?
शहरनॉर्मन

1
@citynorman pandas\core\config_init.pyइसे स्थायी रूप से सेट करने के लिए देखें ।
जराड जूल

106

यदि आप अस्थायी रूप से एक बड़ा DataFrame प्रदर्शित करने के लिए विकल्प सेट करना चाहते हैं, तो आप option_context का उपयोग कर सकते हैं :

with pd.option_context('display.max_rows', None, 'display.max_columns', None):
    print (df)

जब आप withब्लॉक से बाहर निकलते हैं तो विकल्प मान स्वचालित रूप से पुनर्स्थापित हो जाते हैं ।


3
कोई सीमा निर्धारित करने के लिए, None(999 आदि के बजाय) का उपयोग किया जा सकता है।
एरिक ओ लेबिगॉट

5
with pd.option_context('display.max_rows', None, 'display.max_columns', None): print(energy)काम नहीं किया। इसने उन कॉलमों की संख्या नहीं बदली, जिन्हें मैं देखना चाहता था। हालाँकि, Wouter Overmeiere के समाधान ने काम किया।
अजीज जावेद

लेकिन अंतर है, कुछ संख्या की जरूरत है जैसे -1या 500, कोई नहीं।
जीजेरेल

2
-1 क्रैश का उपयोग करते हुए, और 500 ने कुछ भी नहीं किया
अज़ीज़ जावेद

1
संदर्भ प्रबंधक का सुझाव देने के लिए +1, लेकिन max_rowsमूल्य के लिए -1 ;) 'display.max_rows'-1 पर सेट करना पूरी तरह से फ़ॉर्मेटिंग को गड़बड़ाने के लिए लगता है (मेरे डेटा क्रैश के लिए नहीं, लेकिन यह कुछ पंक्तियों को कई बार प्रिंट करता है)।
bluenote10

87

केवल इन 3 लाइनों का उपयोग करने से मेरे लिए काम किया गया:

pd.set_option('display.max_columns', None)  
pd.set_option('display.expand_frame_repr', False)
pd.set_option('max_colwidth', -1)

एनाकोंडा / पायथन 3.6.5 / पांडा: 0.23.0 / विज़ुअल स्टूडियो कोड 1.26


54

सेट कॉलम अधिकतम चौड़ाई का उपयोग कर:

pd.set_option('max_colwidth', 800)

यह विशेष विवरण प्रति कॉलम 800px अधिकतम चौड़ाई निर्धारित करता है।


2
नीचे उतरते हुए वोट के क्रम में स्क्रॉल करते हुए, यह पहला उत्तर है जिसने मेरे लिए काम किया है ताकि डेटाफ्रैम के प्लेटेक्स्ट आउटपुट को कम न किया जा सके। (पांडा 0.22, iTerm2 3.0.13, OS X 10.12)।
पीटर लीम्बिग्लर

2
यह एकमात्र ऐसा है जिसने मेरे लिए पंडों के लिए 0.23.2 काम किया।
डेविनबॉस्ट

1
कैसे आया आपको इसे निर्दिष्ट करने की आवश्यकता नहीं है display.max_colwidth? इस प्रकार यह प्रलेखन में सूचीबद्ध है। मैं मानता हूं कि केवल max_colwidthकाम करता है और लिखने के लिए कम है, लेकिन मुझे आश्चर्य हुआ।
cmo

26

आप print df.describe().to_string()इसे पूरी तालिका दिखाने के लिए मजबूर करने के लिए उपयोग कर सकते हैं । (आप to_string()किसी भी DataFrame के लिए इस तरह का उपयोग कर सकते हैं । परिणाम describeकेवल एक DataFrame ही है।)

"विवरण" (क्योंकि describe8 आँकड़े, अधिकतम, माध्य, आदि) की गणना करने वाली डेटाफ्रेम में 8 पंक्तियों की संख्या है ।


26

आप के साथ पांडा प्रिंट विकल्प समायोजित कर सकते हैं set_printoptions

In [3]: df.describe()
Out[3]: 
<class 'pandas.core.frame.DataFrame'>
Index: 8 entries, count to max
Data columns:
x1    8  non-null values
x2    8  non-null values
x3    8  non-null values
x4    8  non-null values
x5    8  non-null values
x6    8  non-null values
x7    8  non-null values
dtypes: float64(7)

In [4]: pd.set_printoptions(precision=2)

In [5]: df.describe()
Out[5]: 
            x1       x2       x3       x4       x5       x6       x7
count      8.0      8.0      8.0      8.0      8.0      8.0      8.0
mean   69024.5  69025.5  69026.5  69027.5  69028.5  69029.5  69030.5
std       17.1     17.1     17.1     17.1     17.1     17.1     17.1
min    69000.0  69001.0  69002.0  69003.0  69004.0  69005.0  69006.0
25%    69012.2  69013.2  69014.2  69015.2  69016.2  69017.2  69018.2
50%    69024.5  69025.5  69026.5  69027.5  69028.5  69029.5  69030.5
75%    69036.8  69037.8  69038.8  69039.8  69040.8  69041.8  69042.8
max    69049.0  69050.0  69051.0  69052.0  69053.0  69054.0  69055.0

हालाँकि यह सभी मामलों में काम नहीं करेगा क्योंकि पांडा आपके कंसोल की चौड़ाई का पता लगाता है और इसका उपयोग केवल तभी होगा to_stringजब आउटपुट कंसोल में फिट होता है (डॉकस्ट्रिंग देखें set_printoptions)। इस मामले में आप स्पष्ट to_stringरूप से ब्रेनबर्न द्वारा उत्तर के रूप में कॉल कर सकते हैं ।

अपडेट करें

संस्करण 0.10 के साथ जिस तरह से विस्तृत डेटाफ़्रेम मुद्रित होते हैं, वे बदल जाते हैं :

In [3]: df.describe()
Out[3]: 
                 x1            x2            x3            x4            x5  \
count      8.000000      8.000000      8.000000      8.000000      8.000000   
mean   59832.361578  27356.711336  49317.281222  51214.837838  51254.839690   
std    22600.723536  26867.192716  28071.737509  21012.422793  33831.515761   
min    31906.695474   1648.359160     56.378115  16278.322271     43.745574   
25%    45264.625201  12799.540572  41429.628749  40374.273582  29789.643875   
50%    56340.214856  18666.456293  51995.661512  54894.562656  47667.684422   
75%    75587.003417  31375.610322  61069.190523  67811.893435  76014.884048   
max    98136.474782  84544.484627  91743.983895  75154.587156  99012.695717   

                 x6            x7  
count      8.000000      8.000000  
mean   41863.000717  33950.235126  
std    38709.468281  29075.745673  
min     3590.990740   1833.464154  
25%    15145.759625   6879.523949  
50%    22139.243042  33706.029946  
75%    72038.983496  51449.893980  
max    98601.190488  83309.051963  

पंडों के विकल्पों को बदलने के लिए और अधिक एपीआई बदल गया:

In [4]: pd.set_option('display.precision', 2)

In [5]: df.describe()
Out[5]: 
            x1       x2       x3       x4       x5       x6       x7
count      8.0      8.0      8.0      8.0      8.0      8.0      8.0
mean   59832.4  27356.7  49317.3  51214.8  51254.8  41863.0  33950.2
std    22600.7  26867.2  28071.7  21012.4  33831.5  38709.5  29075.7
min    31906.7   1648.4     56.4  16278.3     43.7   3591.0   1833.5
25%    45264.6  12799.5  41429.6  40374.3  29789.6  15145.8   6879.5
50%    56340.2  18666.5  51995.7  54894.6  47667.7  22139.2  33706.0
75%    75587.0  31375.6  61069.2  67811.9  76014.9  72039.0  51449.9
max    98136.5  84544.5  91744.0  75154.6  99012.7  98601.2  83309.1

मैं लॉगरो द्वारा उल्लिखित max_columns पद्धति का उपयोग करना पसंद करता हूं, लेकिन मुझे खुशी है कि आपने सटीक कीवर्ड का उल्लेख किया है क्योंकि यह प्रदर्शित किए गए आँकड़ों को साफ करने में मदद करेगा। धन्यवाद!
बीट्स

22

आप अपनी वर्तमान टर्मिनल चौड़ाई से मिलान करने के लिए आउटपुट डिस्प्ले सेट कर सकते हैं:

pd.set_option('display.width', pd.util.terminal.get_terminal_size()[0])

6
@ wouter-overmeire का कहना है कि पांडा स्वचालित रूप से ऐसा करता है , लेकिन ऐसा नहीं लगता है, कम से कम 0.18.0 के साथ नहीं। हालांकि, यदि आप pd.set_option('display.width', None)किसी टर्मिनल में उपयोग करते हैं, तो "पांडा सही ढंग से चौड़ाई का स्वतः पता लगा लेंगे"
मथायस फ्रायप

बिल्कुल सही! यह डिफ़ॉल्ट रूप से ऐसा नहीं करता है। इसे किसी पर भी सेट करना, यह केवल चौड़ाई को अनदेखा करता है। शायद यह पंडों में एक बग है या शायद यह सूक्ति टर्मिनल के साथ करना है ..? धन्यवाद Wilfred ह्यूजेस!
खतरे '

3
गुण: मॉड्यूल 'pandas.util' में कोई विशेषता 'टर्मिनल' नहीं है
भीषण पौडेल

1
@BhishanPoudel आप इसके बजाय कर सकते हैं:pd.options.display.width = None
सेबमा

1
@BhanhanPoudel यह उत्तर कुछ साल पुराना है, और मैं आपकी ही समस्या में भाग गया। इसे लिखने के रूप में, पांडा संस्करण 0.23.1 का उपयोग करते हुए, मॉड्यूल अब हैpd.io.formats.terminal.get_terminal_size()
अजय

13

डॉक्स के अनुसार v0.18.0 के लिए , यदि आप टर्मिनल पर चल रहे हैं (यानी iPython नोटबुक, qtconsole या IDLE नहीं), तो पंडों को अपनी स्क्रीन की चौड़ाई का पता लगाना और मक्खी पर अनुकूलित करना यह एक 2-लाइनर है कि कितने में कॉलम यह दिखाता है:

pd.set_option('display.large_repr', 'truncate')
pd.set_option('display.max_columns', 0)

1
यह मेरे लिए काम किया, धन्यवाद! मैं पंडों 0.22.0 का उपयोग कर रहा हूं (नवीनतम 8 फरवरी 2018 को) ओएस एक्स 10.11.6 में बिल्ट-इन टर्मिनल ऐप का उपयोग करके
ग्रेग सैडेत्स्की

8

ऐसा लगता है कि उपरोक्त सभी उत्तर समस्या को हल करते हैं। एक और बिंदु: के बजाय pd.set_option('option_name'), आप (ऑटो-पूर्ण-सक्षम) का उपयोग कर सकते हैं

pd.options.display.width = None

पंडों को देखें : विकल्प और सेटिंग्स:

विकल्पों में एक पूर्ण "बिंदीदार शैली", केस-असंवेदनशील नाम (जैसे 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

[...]

के लिए max_...पैरामीटर:

max_rowsऔर अगर या तय करने के तरीकों max_columnsमें उपयोग किया जाता है__repr__()to_string()info() एक स्ट्रिंग को एक वस्तु प्रस्तुत करना प्रयोग किया जाता है। यदि अजगर / IPython टर्मिनल में चल रहा है तो इसे 0 पर सेट किया जा सकता है और पांडा सही ढंग से चौड़ाई का पता लगाएगा और यदि सभी कॉलम लंबवत रूप से फिट नहीं होंगे तो छोटे प्रारूप में स्वैप कर सकते हैं। IPython नोटबुक, IPython qtconsole, या IDLE एक टर्मिनल में नहीं चलते हैं और इसलिए सही ऑटो-डिटेक्शन करना संभव नहीं है। ' None' मूल्य का मतलब असीमित है। [मूल में जोर नहीं]

के लिए widthपरम:

वर्णों में प्रदर्शन की चौड़ाई। यदि अजगर / IPython टर्मिनल में चल रहा है तो यह सेट किया जा सकता है Noneऔर पांडा चौड़ाई का सही-सही पता लगा लेगा। ध्यान दें कि IPython नोटबुक, IPython qtconsole, या IDLE एक टर्मिनल में नहीं चलते हैं और इसलिए चौड़ाई का सही ढंग से पता लगाना संभव नहीं है।


5
import pandas as pd
pd.set_option('display.max_columns', 100)
pd.set_option('display.width', 1000)

SentenceA = "William likes Piano and Piano likes William"
SentenceB = "Sara likes Guitar"
SentenceC = "Mamoosh likes Piano"
SentenceD = "William is a CS Student"
SentenceE = "Sara is kind"
SentenceF = "Mamoosh is kind"


bowA = SentenceA.split(" ")
bowB = SentenceB.split(" ")
bowC = SentenceC.split(" ")
bowD = SentenceD.split(" ")
bowE = SentenceE.split(" ")
bowF = SentenceF.split(" ")

# Creating a set consisted of all words

wordSet = set(bowA).union(set(bowB)).union(set(bowC)).union(set(bowD)).union(set(bowE)).union(set(bowF))
print("Set of all words is: ", wordSet)

# Initiating dictionary with 0 value for all BOWs

wordDictA = dict.fromkeys(wordSet, 0)
wordDictB = dict.fromkeys(wordSet, 0)
wordDictC = dict.fromkeys(wordSet, 0)
wordDictD = dict.fromkeys(wordSet, 0)
wordDictE = dict.fromkeys(wordSet, 0)
wordDictF = dict.fromkeys(wordSet, 0)

for word in bowA:
    wordDictA[word] += 1
for word in bowB:
    wordDictB[word] += 1
for word in bowC:
    wordDictC[word] += 1
for word in bowD:
    wordDictD[word] += 1
for word in bowE:
    wordDictE[word] += 1
for word in bowF:
    wordDictF[word] += 1

# Printing Term frequency

print("SentenceA TF: ", wordDictA)
print("SentenceB TF: ", wordDictB)
print("SentenceC TF: ", wordDictC)
print("SentenceD TF: ", wordDictD)
print("SentenceE TF: ", wordDictE)
print("SentenceF TF: ", wordDictF)

print(pd.DataFrame([wordDictA, wordDictB, wordDictB, wordDictC, wordDictD, wordDictE, wordDictF]))

आउटपुट:

   CS  Guitar  Mamoosh  Piano  Sara  Student  William  a  and  is  kind  likes
0   0       0        0      2     0        0        2  0    1   0     0      2
1   0       1        0      0     1        0        0  0    0   0     0      1
2   0       1        0      0     1        0        0  0    0   0     0      1
3   0       0        1      1     0        0        0  0    0   0     0      1
4   1       0        0      0     0        1        1  1    0   1     0      0
5   0       0        0      0     1        0        0  0    0   1     1      0
6   0       0        1      0     0        0        0  0    0   1     1      0

आपको बस इन दोनों की आवश्यकता है: (उपरोक्त उदाहरण की जांच करें) pd pset.set_option ('display.max_columns', 100) pd.set_option ('display. उपलब्धता', 1000) के रूप में आयात पांडा
विलियम Pourmajidi

4

डेटा की मात्रा अधिक होने पर मैंने इन सेटिंग्स का उपयोग किया।

# environment settings: 
pd.set_option('display.max_column',None)
pd.set_option('display.max_rows',None)
pd.set_option('display.max_seq_items',None)
pd.set_option('display.max_colwidth', 500)
pd.set_option('expand_frame_repr', True)

आप यहाँ प्रलेखन का उल्लेख कर सकते हैं


4

नीचे की रेखा डेटाफ़्रेम से सभी कॉलम प्रदर्शित करने के लिए पर्याप्त है। pd.set_option('display.max_columns', None)


1
एसओ में आपका स्वागत है! जब आप किसी प्रश्न का नया उत्तर देते हैं और कुछ और उत्तर होते हैं, तो पेशेवरों को दिखाने का प्रयास करें। अभी भी एक जवाब है कि आप में से pd.set_option('display.max_columns', 0)कौन से फायदे हैं?
डेविड गार्सिया बोडेगो

3

यदि आप अपने प्रदर्शन विकल्पों के साथ कोई गड़बड़ नहीं करना चाहते हैं और आप अपने द्वारा देखे जाने वाले प्रत्येक डेटाफ़्रेम का विस्तार किए बिना स्तंभों की इस एक विशेष सूची को देखना चाहते हैं, तो आप कोशिश कर सकते हैं:

df.columns.values


2

आप बस निम्नलिखित कदम उठा सकते हैं,

  • आप पंडों के लिए विकल्प बदल सकते हैं max_columns फ़ीचर इस प्रकार है

    import pandas as pd
    pd.options.display.max_columns = 10

    (यह 10 कॉलम प्रदर्शित करने की अनुमति देता है, आप इसे आवश्यकतानुसार बदल सकते हैं)

  • जैसे कि आप पंक्तियों की संख्या को बदल सकते हैं जैसा कि आपको निम्नानुसार प्रदर्शित करने की आवश्यकता है (यदि आपको अधिकतम पंक्तियों को भी बदलने की आवश्यकता है)

    pd.options.display.max_rows = 999

    (यह एक बार में 999 पंक्तियों को प्रिंट करने की अनुमति देता है)

कृपया पंडों के लिए विभिन्न विकल्पों / सेटिंग्स को बदलने के लिए डॉक्टर को देखें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.