tutorial - pandas python شرح




هل هناك طريقة ل(جميلة) طباعة كامل بانداس السلسلة/DataFrame؟ (5)

أنا أعمل مع سلسلة و DataFrames على محطة الكثير. الافتراضي __repr__ لسلسلة إرجاع نموذج اختزال ، مع بعض قيم الرأس والذيل ، ولكن بقية المفقودين.

هل هناك طريقة مبنية لطباعة كامل السلسلة / DataFrame؟ من الناحية المثالية ، فإنه يدعم المحاذاة الصحيحة ، ربما الحدود بين الأعمدة ، وربما حتى ترميز الألوان للأعمدة المختلفة.


إذا كنت تستخدم Ipython Notebook (Jupyter). يمكنك استخدام HTML

from IPython.core.display import HTML
display(HTML(df.to_html()))

استخدم هذا ببساطة لطباعة الإطارات بالكامل:

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

كما يمكنك إنشاء وظيفة طباعة جميلة مع مدير السياق ، كما هو الحال في الأمثلة أعلاه.

للحصول على قائمة كاملة بالخيارات المفيدة ، انظر:

pd.describe_option('display')

بعض الأمثلة على الاستخدام: pandas.pydata.org/pandas-docs/stable/options.html


بالنسبة للأشخاص الذين يأتون إلى هنا ، فإن طباعة صفحات الإنترنت المطبوعة مطبوعة على نحو جميل ، بحيث يبدأ تشاك نوريس في البكاء على الفور مثل طفل صغير ، استخدم حزمة الجدولة:

pip install tabulate

الآن للسحر

import pandas as pd
from io import StringIO
from tabulate import tabulate

c = """Chromosome Start End
chr1 3 6
chr1 5 7
chr1 8 9"""

df = pd.read_table(StringIO(c), sep="\s+", header=0)

print(tabulate(df, headers='keys', tablefmt='psql'))

+----+--------------+---------+-------+
|    | Chromosome   |   Start |   End |
|----+--------------+---------+-------|
|  0 | chr1         |       3 |     6 |
|  1 | chr1         |       5 |     7 |
|  2 | chr1         |       8 |     9 |
+----+--------------+---------+-------+


جرب هذا

pd.set_option('display.height',1000)
pd.set_option('display.max_rows',500)
pd.set_option('display.max_columns',500)
pd.set_option('display.width',1000)

يمكنك أيضًا استخدام option_context ، مع خيار واحد أو أكثر:

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

سيؤدي هذا إلى إرجاع الخيارات إلى قيمها السابقة تلقائيًا.

إضافة : إذا كنت تعمل على jupyter-notebook ، فإن استخدام display بدلاً من print سيستخدم منطق العرض الغني الأكثر غباء.







dataframe