HTML में पांडा की डेटाफ्रेम से HTML में कनवर्ट करते समय HTML में पूर्ण (गैर-रद्दी) डेटाफ़्रेम जानकारी कैसे प्रदर्शित करें?


213

मैंने DataFrame.to_htmlफ़ंक्शन का उपयोग करके एक html डेटा के लिए एक पांडा डेटाफ़्रेम परिवर्तित किया । जब मैं इसे एक अलग HTML फ़ाइल में सहेजता हूं, तो फ़ाइल छोटा आउटपुट दिखाती है।

उदाहरण के लिए, मेरे पाठ कॉलम में,

df.head(1) दिखाएंगे

फिल्म एक उत्कृष्ट प्रयास थी ...

के बजाय

इस अवधि के दौरान प्रचलित जटिल सामाजिक भावनाओं के पुनर्निर्माण में फिल्म एक उत्कृष्ट प्रयास थी।

यह प्रतिपादन एक विशाल पांडा डेटाफ्रेम के स्क्रीन-फ्रेंडली प्रारूप के मामले में ठीक है, लेकिन मुझे एक html फ़ाइल की आवश्यकता है जो डेटाफ़्रेम में निहित पूर्ण सारणीबद्ध डेटा दिखाएगा, अर्थात् ऐसा कुछ है जो बाद के पाठ तत्व के बजाय दिखाएगा। पूर्व पाठ स्निपेट।

मैं जानकारी के HTML संस्करण में अपने पाठ कॉलम में प्रत्येक तत्व के लिए पूर्ण, गैर-काट-छाँट पाठ डेटा कैसे दिखा सकता हूं? मुझे लगता है कि html तालिका को पूरा डेटा दिखाने के लिए लंबी कोशिकाओं को प्रदर्शित करना होगा, लेकिन जहां तक ​​मैं समझता हूं, केवल कॉलम-चौड़ाई पैरामीटर को DataFrame.to_htmlफ़ंक्शन में पारित किया जा सकता है।

जवाबों:


426

इसके लिए display.max_colwidthविकल्प सेट करें -1:

pd.set_option('display.max_colwidth', -1)

set_option डॉक्स

उदाहरण के लिए, iPython में, हम देखते हैं कि जानकारी को 50 वर्णों तक काट दिया गया है। अतिरिक्त में कुछ भी ग्रहण किया जाता है:

यहां छवि विवरण दर्ज करें

यदि आप display.max_colwidthविकल्प सेट करते हैं , तो सूचना पूरी तरह से प्रदर्शित होगी:

यहां छवि विवरण दर्ज करें


10
डॉक्स के अनुसार आपको Noneइसका मतलब असीमित करना चाहिए ।
kynan

21
उत्तर सही है, अर्थात इसे सेट नहीं किया जाना चाहिए None। अन्यथा, ValueError: Value must have type '<class 'int'>'त्रुटि मिलेगी ।
x

यह है जिसके बारे में मैं बात कर रहा हूँ!
इवान

2
max_columnsइस सवाल का जवाब मेरे लिए काम किया है, जो का उपयोग करता है Noneके दूसरे तर्क के रूप में set_option
किलोजूल

8
यदि आप चाहते हैं कि ये प्रदर्शन विकल्प सिर्फ एक बार लागू हों, और स्थायी रूप से नहीं, तो आप संदर्भ प्रबंधक का उपयोग भी कर सकते हैं:with pd.option_context('display.max_colwidth', -1): display(df)
SA

115
pd.set_option('display.max_columns', None)  

id (दूसरा तर्क) पूरी तरह से कॉलम दिखा सकता है।


मेरी मेज के मध्य के निकट और दीर्घवृत्त (...) के रूप में प्रतिनिधित्व करते हुए, मेरे लिए बहुत कम, स्तंभों की संख्या को छोटा किया जा रहा था। धन्यवाद!
३० पर चार

4
इसने मेरे लिए काम किया न कि दूसरे जवाब के लिए। मैं Python 3.6
दुर्गा स्वरूप

1
यह मेरे लिए पायथन 2.7 पर काम नहीं किया, लेकिन @ behzad.nouri द्वारा पहला जवाब दिया।
r3robertson

यह स्वीकृत उत्तर होना चाहिए। विकल्प के साथ वर्तमान स्वीकार जवाब max_colwidthहल कर सकता है एक क्षेत्र की वजह से बहुत लंबा मान है। हालांकि, मुझे लगता है कि ज्यादातर लोगों के लिए ट्रंकट मुद्दे वास्तव में बहुत अधिक कॉलम हैं। तो, यह max_columnsस्वीकार किया जाना चाहिए।
क्रिस्टोफर

@ क्रिस्टोफर, ओपी ने एक स्तंभ की चौड़ाई के बारे में पूछा, कई लोग यहां आते हैं, इसलिए कार्ल द्वारा दिए गए दोनों उत्तर उनके लिए अधिक प्रासंगिक हैं।
अलेक्सई मार्टियनोव

87

pd.set_option('display.max_columns', None)दिखाए गए अधिकतम कॉलम की संख्या सेट करते समय , विकल्प pd.set_option('display.max_colwidth', -1)प्रत्येक एकल फ़ील्ड की अधिकतम चौड़ाई निर्धारित करता है।

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

def print_full(x):
    pd.set_option('display.max_rows', len(x))
    pd.set_option('display.max_columns', None)
    pd.set_option('display.width', 2000)
    pd.set_option('display.float_format', '{:20,.2f}'.format)
    pd.set_option('display.max_colwidth', None)
    print(x)
    pd.reset_option('display.max_rows')
    pd.reset_option('display.max_columns')
    pd.reset_option('display.width')
    pd.reset_option('display.float_format')
    pd.reset_option('display.max_colwidth')

परिवर्तन की चेतावनी से बचने के लिए प्रिंट (x) के ऊपर लाइन में -1 से "कोई नहीं" बदलें
मार्क ज़ुकोवस्की

1

उन लोगों के लिए जो ऐसा करना चाहते हैं। मुझे डैस्क में एक समान विकल्प नहीं मिला, लेकिन अगर मैं बस पंडों के लिए एक ही नोटबुक में ऐसा करता हूं तो यह डैस्क के लिए भी काम करता है।

import pandas as pd
import dask.dataframe as dd
pd.set_option('display.max_colwidth', -1) # This will set the no truncate for pandas as well as for dask. Not sure how it does for dask though. but it works

train_data = dd.read_csv('./data/train.csv')    
train_data.head(5)

0

नीचे दी गई त्रुटि में निम्नलिखित कोड परिणाम हैं:

pd.set_option('display.max_colwidth', -1)

FutureWarning: एक नकारात्मक पूर्णांक पास करना 1.0 संस्करण में पदावनत है और भविष्य के संस्करण में समर्थित नहीं होगा। इसके बजाय, कॉलम चौड़ाई को सीमित न करने के लिए कोई भी उपयोग न करें।

इसके बजाय, उपयोग करें:

pd.set_option('display.max_colwidth', None)

यह कार्य पूरा करता है और 1.0 संस्करण के बाद पांडा के संस्करणों का अनुपालन करता है ।

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