পান্ডাস ডেটাফ্রেম থেকে এইচটিএমএল রূপান্তর করার সময় এইচটিএমএল-এ পূর্ণ (অ-ছাঁটাই করা) ডাটাফ্রেম তথ্য কীভাবে প্রদর্শন করবেন?


213

আমি একটি পান্ডাস ডেটা ফ্রেমটি DataFrame.to_htmlফাংশনটি ব্যবহার করে এইচটিএমএল আউটপুটে রূপান্তর করেছি । আমি যখন এটি একটি পৃথক এইচটিএমএল ফাইলে সংরক্ষণ করি, তখন ফাইলটি কাটা আউটপুট দেখায়।

উদাহরণস্বরূপ, আমার পাঠ্য কলামে,

df.head(1) প্রদর্শন করা হবে

ছবিটি একটি দুর্দান্ত প্রচেষ্টা ছিল ...

পরিবর্তে

এই সময়ের মধ্যে প্রচলিত জটিল সামাজিক অনুভূতিগুলি ডিকনস্ট্রাক্ট করার জন্য চলচ্চিত্রটি একটি দুর্দান্ত প্রচেষ্টা ছিল।

একটি বিশাল প্যান্ডাস ডেটাফ্রেমের স্ক্রিন-বান্ধব বিন্যাসের ক্ষেত্রে এই উপস্থাপনাটি ঠিক আছে, তবে আমার একটি এইচটিএমএল ফাইল দরকার যা ডেটাফ্রেমে থাকা সম্পূর্ণ ট্যাবুলার ডেটা প্রদর্শন করবে, এটি এমন কিছু যা পরবর্তী পাঠ্যের উপাদানটির পরিবর্তে প্রদর্শিত হবে প্রাক্তন পাঠ্য স্নিপেট

আমি কীভাবে তথ্যের এইচটিএমএল সংস্করণে আমার পাঠ্য কলামে প্রতিটি উপাদানটির জন্য সম্পূর্ণ, বিচ্ছিন্ন পাঠ্য ডেটাটি প্রদর্শন করতে সক্ষম হব? আমি কল্পনা করব যে এইচটিএমএল টেবিলটিতে সম্পূর্ণ ডেটা প্রদর্শন করতে দীর্ঘ কোষ প্রদর্শন করতে হবে, তবে আমি যতটা বুঝতে পেরেছি, কেবল কলাম-প্রস্থের প্যারামিটারগুলি ফাংশনটিতে যেতে পারে DataFrame.to_html

উত্তর:


426

display.max_colwidthবিকল্পটি এতে সেট করুন -1:

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

set_option ডক্স

উদাহরণস্বরূপ, আইপাইথনে, আমরা দেখতে পাই যে তথ্যটি 50 টি অক্ষরে ছাঁটা হয়েছে। অতিরিক্ত কিছুও উপবৃত্তাকার:

এখানে চিত্র বর্ণনা লিখুন

আপনি যদি display.max_colwidthবিকল্পটি সেট করেন , তথ্য পুরোপুরি প্রদর্শিত হবে:

এখানে চিত্র বর্ণনা লিখুন


10
দস্তাবেজ অনুসারে আপনার এটি Noneসীমাহীন বোঝাতে সেট করা উচিত ।
কিনান

21
উত্তরটি সঠিক, অর্থাৎ এটি সেট করা উচিত নয় None। অন্যথায়, ValueError: Value must have type '<class 'int'>'ত্রুটি পাবেন।
xpt

আমি এটার কথাই বলছি!
ইভান

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
এটি আমার পক্ষে কাজ করেছে অন্য উত্তর নয়। আমি পাইথন ৩.6 ব্যবহার করছি
দুর্গা স্বরূপ

1
পাইথন ২.7-এ এটি আমার পক্ষে কাজ করেনি, তবে @ বেহজাদ.নৌরির প্রথম উত্তরটি তা করেছে।
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 পরিবর্তন করুন
মার্ক huুকভস্কি

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)

ফিউচার ওয়ার্নিং: negativeণাত্মক পূর্ণসংখ্যাটি পাস করা 1.0 সংস্করণে অবচয় করা হয়েছে এবং ভবিষ্যতের সংস্করণে সমর্থন করা হবে না। পরিবর্তে, কলামের প্রস্থ সীমাবদ্ধ না করতে কোনওটিই ব্যবহার করবেন না।

পরিবর্তে, ব্যবহার করুন:

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

এটি টাস্কটি সম্পাদন করে এবং প্যান্ডাসের নিম্নলিখিত সংস্করণ 1.0 এর সংস্করণগুলি মেনে চলে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.