Pembaruan: Pandas 0.23.4 dan seterusnya
Ini tidak perlu, panda mendeteksi secara otomatis ukuran jendela terminal Anda jika Anda mengatur pd.options.display.width = 0
. (Untuk versi yang lebih lama lihat di bagian bawah.)
pandas.set_printoptions(...)
sudah ditinggalkan. Sebaliknya, gunakan pandas.set_option(optname, val)
, atau setara pd.options.<opt.hierarchical.name> = val
. Suka:
import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
Ini adalah bantuan untukset_option
:
set_option (pat, value) - Menetapkan nilai opsi yang ditentukan
Pilihan yang tersedia:
tampilan. [chop_threshold, colheader_justify, column_space, date_dayfirst,
date_yearfirst, encoding, expand_frame_repr, float_format, tinggi,
line_width, max_columns, max_colwidth, max_info_columns, max_info_rows,
max_rows, max_seq_items, mpl_style, multi_sparse, notebook_repr_html,
pprint_nest_depth, presisi, lebar]
mode. [sim_interactive, use_inf_as_null]
Parameter
----------
pat - str / regexp yang harus cocok dengan satu opsi.
Catatan: kecocokan sebagian didukung untuk kenyamanan, tetapi kecuali jika Anda menggunakan
nama opsi lengkap (egxyzoption_name), kode Anda mungkin rusak di masa depan
versi jika opsi baru dengan nama yang mirip diperkenalkan.
value - nilai opsi baru.
Kembali
-------
Tidak ada
Meningkatkan
------
KeyError jika tidak ada opsi seperti itu
display.chop_threshold: [default: Tidak ada] [saat ini: Tidak ada]
: float or None
jika diatur ke nilai float, semua nilai float lebih kecil dari ambang yang diberikan
akan ditampilkan dengan tepat 0 oleh repr dan teman.
display.colheader_justify: [default: right] [saat ini: right]
: 'kiri kanan'
Mengontrol pembenaran header kolom. digunakan oleh DataFrameFormatter.
display.column_space: [default: 12] [saat ini: 12] Tidak ada deskripsi yang tersedia.
display.date_dayfirst: [default: False] [saat ini: False]
: boolean
Ketika Benar, cetak dan parsing tanggal dengan hari pertama, misalnya 20/01/2005
display.date_yearfirst: [default: False] [saat ini: False]
: boolean
When True, mencetak dan mem-parsing tanggal dengan tahun pertama, mis. 2005/01/20
display.encoding: [default: UTF-8] [saat ini: UTF-8]
: str / unicode
Default untuk pengkodean konsol yang terdeteksi.
Menentukan penyandian yang akan digunakan untuk string yang dikembalikan oleh to_string,
ini umumnya string yang dimaksudkan untuk ditampilkan di konsol.
display.expand_frame_repr: [default: True] [saat ini: True]
: boolean
Apakah akan mencetak repr DataFrame lengkap untuk DataFrame lebar
melintasi banyak baris, `max_columns` masih dihormati, tetapi hasilnya akan
membungkus beberapa "halaman" jika lebarnya melebihi `display.width`.
display.float_format: [default: Tidak ada] [saat ini: Tidak ada]
: bisa dipanggil
Callable harus menerima nomor floating point dan kembali
string dengan format angka yang diinginkan. Ini digunakan
di beberapa tempat seperti SeriesFormatter.
Lihat core.format.EngFormatter untuk contoh.
display.height: [default: 60] [saat ini: 1000]
: int
Usang.
(Sudah usang, gunakan `display.height`.)
display.line_width: [default: 80] [saat ini: 1000]
: int
Usang.
(Sudah usang, gunakan `display.width` sebagai gantinya.)
display.max_columns: [default: 20] [saat ini: 500]
: int
max_rows dan max_columns digunakan dalam metode __repr __ () untuk memutuskan apakah
to_string () atau info () digunakan untuk merender objek ke string. Dalam hal
python / IPython berjalan di terminal ini dapat diatur ke 0 dan panda
akan secara otomatis mendeteksi lebar terminal dan menukar ke yang lebih kecil
Format jika semua kolom tidak akan cocok secara vertikal. Notebook IPython,
IPython qtconsole, atau IDLE tidak berjalan di terminal dan karenanya tidak
mungkin untuk melakukan deteksi otomatis yang benar.
Nilai 'Tidak Ada' berarti tidak terbatas.
display.max_colwidth: [default: 50] [saat ini: 50]
: int
Lebar maksimum dalam karakter kolom dalam repr dari
struktur data panda. Saat kolom meluap, "..."
placeholder tertanam dalam output.
display.max_info_columns: [default: 100] [saat ini: 100]
: int
max_info_columns digunakan dalam metode DataFrame.info untuk memutuskan apakah
per kolom informasi akan dicetak.
display.max_info_rows: [default: 1690785] [saat ini: 1690785]
: int atau Tidak Ada
max_info_rows adalah jumlah baris maksimum yang diinginkan frame
melakukan pemeriksaan nol pada kolom-kolomnya ketika repr'ing Ke konsol.
Standarnya adalah 1.000.000 baris. Jadi, jika DataFrame memiliki lebih banyak
1.000.000 baris tidak akan ada pemeriksaan nol yang dilakukan pada
kolom dan dengan demikian representasi akan memakan waktu lebih sedikit untuk
ditampilkan dalam sesi interaktif. Nilai Tidak ada berarti selalu
melakukan pemeriksaan nol saat repr'ing.
display.max_rows: [default: 60] [saat ini: 500]
: int
Ini menetapkan jumlah maksimum baris yang harus dikeluarkan panda saat mencetak
berbagai keluaran. Sebagai contoh, nilai ini menentukan apakah repr ()
untuk frame data dicetak sepenuhnya atau hanya ringkasan repr.
Nilai 'Tidak Ada' berarti tidak terbatas.
display.max_seq_items: [default: Tidak ada] [saat ini: Tidak ada]
: int atau Tidak Ada
saat mencetak cukup lama, tidak lebih dari `max_seq_items`
akan dicetak. Jika item dinonaktifkan, mereka akan dilambangkan dengan penambahan
dari "..." ke string yang dihasilkan.
Jika diatur ke None, jumlah item yang akan dicetak tidak terbatas.
display.mpl_style: [default: Tidak ada] [saat ini: Tidak ada]
: bool
Mengatur ini ke 'default' akan memodifikasi rcParams yang digunakan oleh matplotlib
untuk memberikan plot gaya visual yang lebih menyenangkan secara default.
Mengatur ini ke None / False mengembalikan nilai ke nilai awal mereka.
display.multi_sparse: [default: True] [saat ini: True]
: boolean
Tampilan "sparsify" MultiIndex (jangan tampilkan berulang-ulang
elemen di tingkat luar dalam kelompok)
display.notebook_repr_html: [default: True] [saat ini: True]
: boolean
Ketika Benar, notebook IPython akan menggunakan representasi html untuk
objek panda (jika tersedia).
display.pprint_nest_depth: [default: 3] [saat ini: 3]
: int
Mengontrol jumlah level bersarang untuk diproses saat pencetakan cantik
display.precision: [default: 7] [saat ini: 7]
: int
Presisi output titik mengambang (jumlah digit signifikan). Ini adalah
hanya saran
display.width: [default: 80] [saat ini: 1000]
: int
Lebar layar dalam karakter. Dalam kasus python / IPython sedang berjalan masuk
terminal ini dapat diatur ke Tidak ada dan panda akan secara otomatis mendeteksi
lebar.
Perhatikan bahwa notebook IPython, IPython qtconsole, atau IDLE tidak berjalan di a
terminal dan karenanya tidak mungkin untuk mendeteksi lebar dengan benar.
mode.sim_interactive: [default: False] [saat ini: False]
: boolean
Apakah akan mensimulasikan mode interaktif untuk keperluan pengujian
mode.use_inf_as_null: [default: False] [saat ini: False]
: boolean
Benar berarti memperlakukan Tidak Ada, NaN, INF, -INF sebagai null (cara lama),
Salah berarti Tidak Ada dan NaN adalah nol, tetapi INF, -INF bukan nol
(jalan baru).
Panggil def: pd.set_option (mandiri, * args, ** kwds)
EDIT: informasi versi lama, banyak dari ini sudah usang.
Seperti @bmu sebutkan , panda otomatis mendeteksi (secara default) ukuran area tampilan, tampilan ringkasan akan digunakan ketika objek repr tidak sesuai pada tampilan. Anda menyebutkan mengubah ukuran jendela IDLE, tidak berpengaruh. Jika Anda melakukannya print df.describe().to_string()
cocok pada jendela IDLE?
Ukuran terminal ditentukan oleh pandas.util.terminal.get_terminal_size()
(usang dan dihapus), ini mengembalikan sebuah tuple yang berisi (width, height)
tampilan. Apakah output cocok dengan ukuran jendela IDLE Anda? Mungkin ada masalah (ada satu sebelumnya ketika menjalankan terminal di emacs).
Perhatikan bahwa dimungkinkan untuk memintas deteksi otomatis, pandas.set_printoptions(max_rows=200, max_columns=10)
tidak akan pernah beralih ke tampilan ringkasan jika jumlah baris, kolom tidak melebihi batas yang diberikan.
Opsi 'max_colwidth' membantu dalam melihat bentuk yang tidak terpotong dari setiap kolom.
display.height
... saya dalam lingkaran mati.pd.options
, misalnyapd.options.display.max_rows = 999
.head()
atau apa pun.Coba ini:
Dari dokumentasi:
Lihat: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.set_option.html
sumber
pandas\core\config_init.py
untuk mengaturnya secara permanen.Jika Anda ingin mengatur opsi untuk sementara menampilkan satu DataFrame besar, Anda dapat menggunakan option_context :
Nilai opsi dipulihkan secara otomatis saat Anda keluar dari
with
blokir.sumber
None
dapat digunakan (bukan 999, dll.).with pd.option_context('display.max_rows', None, 'display.max_columns', None): print(energy)
tidak bekerja Itu tidak mengubah jumlah kolom yang ingin saya lihat. Namun, solusi Wouter Overmeiere berhasil.-1
atau500
, tidak ada.max_rows
nilai;). Pengaturan'display.max_rows'
ke -1 tampaknya mengacaukan format sepenuhnya (untuk data saya tidak ada kerusakan, tetapi mencetak baris tertentu beberapa kali sekarang).Hanya menggunakan 3 baris ini yang berfungsi untuk saya:
Anaconda / Python 3.6.5 / panda: 0.23.0 / Visual Studio Code 1.26
sumber
Setel lebar maks kolom menggunakan:
Pernyataan khusus ini menetapkan lebar maksimal hingga 800px, per kolom.
sumber
display.max_colwidth
? Begitulah yang tercantum dalam dokumentasi. Saya setuju bahwa hanyamax_colwidth
berfungsi dan lebih pendek untuk menulis, tetapi saya terkejut.Anda bisa menggunakannya
print df.describe().to_string()
untuk memaksanya menampilkan seluruh tabel. (Anda dapat menggunakanto_string()
seperti ini untuk DataFrame apa pun. Hasil daridescribe
hanya DataFrame itu sendiri.)Angka 8 adalah jumlah baris dalam DataFrame yang memegang "deskripsi" (karena
describe
menghitung 8 statistik, min, maks, rata-rata, dll.).sumber
Anda dapat menyesuaikan opsi cetak panda dengan
set_printoptions
.Namun ini tidak akan bekerja dalam semua kasus karena panda mendeteksi lebar konsol Anda dan hanya akan digunakan
to_string
jika output cocok di konsol (lihat dokumentasiset_printoptions
). Dalam hal ini Anda dapat secara eksplisit meneleponto_string
seperti dijawab oleh BrenBarn .Memperbarui
Dengan versi 0.10, cara lebar bingkai data dicetak berubah :
Lebih jauh lagi, API untuk pengaturan opsi panda berubah:
sumber
Anda dapat mengatur tampilan output agar sesuai dengan lebar terminal Anda saat ini:
sumber
pd.set_option('display.width', None)
terminal, "panda akan secara otomatis mendeteksi lebar" .pd.options.display.width = None
pd.io.formats.terminal.get_terminal_size()
Menurut dokumen untuk v0.18.0 , jika Anda menjalankan pada terminal (bukan notebook iPython, qtconsole atau IDLE), itu adalah 2-liner untuk membuat Pandas secara otomatis mendeteksi lebar layar Anda dan beradaptasi dengan cepat dengan berapa banyak kolom itu menunjukkan:
sumber
Sepertinya semua jawaban di atas menyelesaikan masalah. Satu hal lagi: alih-alih
pd.set_option('option_name')
, Anda dapat menggunakan (kemampuan-otomatis-lengkap)Lihat Pandas doc: Opsi dan Pengaturan:
[...]
untuk
max_...
params:untuk
width
param:sumber
Keluaran:
sumber
Saya menggunakan pengaturan ini ketika skala data tinggi.
Anda dapat merujuk dokumentasi di sini
sumber
Baris di bawah ini cukup untuk menampilkan semua kolom dari dataframe.
pd.set_option('display.max_columns', None)
sumber
pd.set_option('display.max_columns', 0)
Mana yang menjadi keunggulan Anda?Jika Anda tidak ingin mengacaukan opsi tampilan Anda dan Anda hanya ingin melihat daftar kolom khusus ini tanpa memperluas setiap kerangka data yang Anda lihat, Anda dapat mencoba:
sumber
Anda juga dapat mencoba dalam satu lingkaran:
sumber
Anda cukup melakukan langkah-langkah berikut,
Anda dapat mengubah opsi untuk fitur panda max_columns sebagai berikut
(ini memungkinkan 10 kolom untuk ditampilkan, Anda dapat mengubahnya sesuai kebutuhan)
Seperti itu, Anda dapat mengubah jumlah baris yang perlu Anda tampilkan sebagai berikut (jika Anda perlu mengubah baris maksimum juga)
(ini memungkinkan untuk mencetak 999 baris sekaligus)
Silakan merujuk dokumen untuk mengubah berbagai opsi / pengaturan untuk panda
sumber