Saya berjuang dengan hal yang tampaknya sangat sederhana, saya memiliki bingkai data panda yang berisi string yang sangat panjang.
df = pd.DataFrame({'one' : ['one', 'two',
'This is very long string very long string very long string veryvery long string']})
Sekarang ketika saya mencoba untuk mencetak yang sama, saya tidak melihat string lengkap saya lebih suka hanya melihat sebagian dari string.
Saya mencoba opsi berikut
- menggunakan
print(df.iloc[2])
- menggunakan
to_html
- menggunakan
to_string
- Salah satu jawaban stackoverflow menyarankan untuk menambah lebar kolom dengan menggunakan opsi tampilan panda, itu juga tidak berhasil.
- Saya juga tidak mengerti bagaimana
set_printoptions
akan membantu saya.
Setiap ide dihargai. Terlihat sangat sederhana, tetapi tidak bisa mendapatkannya!
Gunakan
pd.set_option('display.max_colwidth', -1)
untuk pemisah baris otomatis dan sel multi-baris.Ini adalah sumber yang bagus tentang cara menggunakan tampilan jupyters dengan panda secara maksimal.
sumber
pd.set_option('display.max_colwidth', None)
untuk versi yang lebih baruPendekatan lain yang cukup sederhana adalah memanggil fungsi daftar:
Tidak layak untuk disebutkan, itu tidak baik untuk biara untuk membuat daftar seluruh kolom, tetapi untuk satu baris sederhana - mengapa tidak
sumber
Cara lain yang lebih mudah untuk mencetak seluruh string adalah dengan memanggil
values
dataframe.Outputnya akan
sumber
Apakah ini yang ingin Anda lakukan?
sumber
Cukup tambahkan baris berikut ke kode Anda sebelum mencetak.
Anda cukup melakukan langkah-langkah berikut untuk mengatur opsi tambahan lainnya,
Anda dapat mengubah opsi fitur pandas max_columns sebagai berikut untuk menampilkan lebih banyak kolom
(ini memungkinkan 10 kolom untuk ditampilkan, Anda dapat mengubahnya sesuai kebutuhan)
Seperti itu Anda dapat mengubah jumlah baris yang Anda butuhkan untuk menampilkan sebagai berikut untuk menampilkan lebih banyak baris
(ini memungkinkan untuk mencetak 999 baris sekaligus)
ini seharusnya bekerja dengan baik
Silakan lihat dokumen untuk mengubah lebih banyak opsi / pengaturan untuk panda
sumber
Cara saya sering menangani situasi yang Anda gambarkan adalah dengan menggunakan
.to_csv()
metode dan menulis ke stdout:Pembaruan: sekarang seharusnya mungkin untuk hanya digunakan
None
daripadasys.stdout
dengan efek yang serupa!Ini harus membuang seluruh kerangka data, termasuk keseluruhan string apa pun. Anda dapat menggunakan parameter to_csv untuk mengkonfigurasi pemisah kolom, apakah indeks akan dicetak, dll. Namun, ini akan kurang cantik daripada merendernya dengan benar.
Saya memposting ini awalnya sebagai jawaban atas pertanyaan yang agak terkait di Output data dari semua kolom dalam kerangka data di panda
sumber
Saya telah membuat fungsi utilitas kecil, ini berfungsi dengan baik untuk saya
Saya dapat mengubah panjang lebar sesuai kebutuhan saya, tanpa menyetel opsi apa pun secara permanen.
sumber
Jika Anda menggunakan notebook jupyter, Anda juga dapat mencetak pandas dataframe sebagai tabel HTML, yang akan mencetak string lengkap.
Keluaran
sumber