আইপিথন নোটবুকে টেবিল হিসাবে ডেটাফ্রেম দেখান


244

আমি আইপিথন নোটবুক ব্যবহার করছি। আমি যখন এটি করি:

df

আমি সেল সহ একটি সুন্দর টেবিল পেয়েছি। তবে, আমি যদি এটি করি:

df1
df2 

এটি প্রথম সুন্দর টেবিলটি মুদ্রণ করে না। যদি আমি এটি চেষ্টা করি:

print df1
print df2

এটি টেবিলটিকে আলাদা ফর্ম্যাটে মুদ্রণ করে যা কলামগুলিকে ছড়িয়ে দেয় এবং আউটপুটটিকে খুব লম্বা করে তোলে।

উভয় ডেটাসেটের জন্য সুন্দর টেবিলগুলি মুদ্রণ করতে বাধ্য করার কোনও উপায় আছে কি?


15
display(df)(সহ from IPython.display import display), বাprint df.to_html()
জোরিস

3
@ জোরিস, আপনার মন্তব্য প্রশ্নের উত্তর বলে মনে হচ্ছে, তাই আপনি সম্ভবত উত্তর হিসাবে পোস্ট করতে পারেন, যাতে প্রশ্নটি উত্তর না থেকে থাকে?
ক্রিশ্চিয়ান সিউপিতু

উত্তর:


382

আইপিথনের প্রদর্শন মডিউল থেকে আপনাকে HTML()বা display()ফাংশনগুলি ব্যবহার করতে হবে :

from IPython.display import display, HTML

# Assuming that dataframes df1 and df2 are already defined:
print "Dataframe 1:"
display(df1)
print "Dataframe 2:"
display(HTML(df2.to_html()))

মনে রাখবেন যে আপনি যদি কেবলমাত্র print df1.to_html()কাঁচা, রেন্ডারহীন এইচটিএমএল পাবেন।

আপনি IPython.core.displayএকই প্রভাব থেকে আমদানি করতে পারেন


3
অজগরকে স্বয়ংক্রিয়ভাবে ব্রাউজার খুলতে এবং দেখাতে বলা সম্ভব HTML(df2.to_html())?
সিনা

@ সিনা আপনার কোনও ফাইলের মধ্যে এইচটিএমএল লিখতে সক্ষম হওয়া উচিত এবং তারপরে সেই ফাইলটিতে আপনার প্রিয় ব্রাউজারটি কল করতে পারেন তবে কীভাবে এটি করবেন তা আপনার সিস্টেমে, ব্রাউজার ইত্যাদির উপর অনেক বেশি নির্ভর করে
নেলাম্যাকবি

2
এইচটিএমএল (df2.to_html ()) কিছুই করে না। ডেটাফ্রেম রেন্ডার করতে আপনার প্রদর্শন (HTML (df2.to_html ())) করা উচিত। আমি আপনার উত্তরটি সম্পাদনা করার চেষ্টা করেছি তবে কোনওভাবে এটি প্রত্যাখ্যান করা হয়েছিল।
alyaxey

8
সংস্করণ 5.6.0 এ আপনার প্রয়োজন হবে নাimport display
joelb

সংক্ষিপ্ত স্ট্রিং মোকাবেলা কিভাবে? যেমন পাঠ্য কলামগুলি থেকে সমস্ত পাঠ্য পেতে।
পিটার.কে

51
from IPython.display import display
display(df)  # OR
print df.to_html()

5
@ এমুনসিং দ্বারা বলা হয়েছে,। To_html () কাজ করে না, এটি রেন্ডারড এইচটিএমএল টেবিল দেয় table
মায়াঙ্ক

44

এই উত্তরটি এই ব্লগ পোস্টের দ্বিতীয় টিপকে ভিত্তি করে তৈরি করা হয়েছে: 28 বৃহস্পতি নোটবুক টিপস, কৌশল এবং শর্টকাট

আপনি আপনার নোটবুকের শীর্ষে নীচের কোডটি যুক্ত করতে পারেন

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

এটি জুপিটারকে তার নিজস্ব লাইনে কোনও ভেরিয়েবল বা স্টেটমেন্টের জন্য ফলাফল মুদ্রণ করতে বলে। সুতরাং আপনি সম্পূর্ণরূপে থাকা একটি কক্ষ চালাবেন

df1
df2

এবং এটি "উভয় ডেটাসেটের জন্য সুন্দর টেবিলগুলি মুদ্রণ করবে"।


3
এই সমাধানটি সুন্দরভাবে কাজ করে এবং জিজ্ঞাসিত মূল সমস্যাটি সমাধান করে। ধন্যবাদ!
জের্টিন

16

আমি এইচটিএমএল এর সাথে গোলযোগ না করা এবং যতটা সম্ভব দেশীয় অবকাঠামো ব্যবহার করতে পছন্দ করি। আপনি এইচবক্স বা ভিবক্সের সাহায্যে আউটপুট উইজেট ব্যবহার করতে পারেন:

import ipywidgets as widgets
from IPython import display
import pandas as pd
import numpy as np

# sample data
df1 = pd.DataFrame(np.random.randn(8, 3))
df2 = pd.DataFrame(np.random.randn(8, 3))

# create output widgets
widget1 = widgets.Output()
widget2 = widgets.Output()

# render in output widgets
with widget1:
    display.display(df1)
with widget2:
    display.display(df2)

# create HBox
hbox = widgets.HBox([widget1, widget2])

# render hbox
hbox

এই ফলাফলগুলি:

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


5

দেখে মনে হচ্ছে আপনি কেবল উভয় ডিএফএস প্রদর্শন করতে করতে কমা ব্যবহার করে প্রদর্শন করতে পারেন। আমি এটি গিথুবের কয়েকটি নোটবুকগুলিতে লক্ষ্য করেছি। এই কোডটি জ্যাক ভেন্ডারপ্লাসের নোটবুক থেকে।

class display(object):
    """Display HTML representation of multiple objects"""
    template = """<div style="float: left; padding: 10px;">
    <p style='font-family:"Courier New", Courier, monospace'>{0}</p>{1}
    </div>"""
    def __init__(self, *args):
        self.args = args

    def _repr_html_(self):
        return '\n'.join(self.template.format(a, eval(a)._repr_html_())
                     for a in self.args)

    def __repr__(self):
        return '\n\n'.join(a + '\n' + repr(eval(a))
                       for a in self.args)

display('df', "df2")


1

জুপিটার নোটবুকে ডেটা ফ্রেমটি প্রদর্শন করতে কেবল টাইপ করুন:

   ডিসপ্লে (Name_of_the_DataFrame)

উদাহরণ স্বরূপ:

  ডিসপ্লে (df প্রয়োগ)

0

একটি তালিকায় থাকা ডেটাফ্রেমগুলি প্রদর্শন করতে:

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