opcję pandy max_colwidth
kontroluje jak wiele znaków zostaną uwzględnione w repr z dataframe:zatrzymać jupyter zawartość komórek owijania notebook w pandy html wyjściu tabeli
import string, random
import pandas as pd
df = pd.DataFrame([''.join(random.choice(string.ascii_lowercase + ' ') for j in range(1000)) for i in range(4)])
pd.options.display.max_colwidth = 10
print(df)
rentowności
0
0 lmftge...
1 pqttqb...
2 wi wgy...
3 ow dip...
i
pd.options.display.max_colwidth = 30
print(df)
plony
0
0 lmftgenioerszvgzfaxorzciow...
1 pqttqbqqe pykgguxnjsspbcti...
2 wi wgybtgcbxkobrwnaxpxwsjc...
3 ow dippaiamvvcofvousieckko...
Można również ustawić pd.options.display.max_colwidth = 0
, aby całkowicie usunąć limit. W porządku do tej pory!
Ale jeśli dataframe jest renderowany w HTML wewnątrz notebooka, notebook będzie zawijać tabeli kolumny do szerokości ekranu, niezależnie od tego ustawienia:
Czy istnieje jakiś sposób, Aby tego uniknąć, tzn. aby kolumna tabeli HTML była tak szeroka, jak jest to konieczne, aby dopasować każdy wiersz do pojedynczej linii?
Bardziej ogólnie, czy możliwe jest kontrolowanie szerokości kolumn tabeli HTML w wynikach notatnika niezależnie od liczby znaków w wyjściu pandy?
Możesz spróbować napisać własny szablon podrzędny, jak wyjaśniono w dokumentacji ['nbconvert'] (https://nbconvert.readthedocs.io/en/latest/customizing.html). Nie znam szablonów, by napisać odpowiedź, ale [tutaj jest szablon nadrzędny] (https://github.com/jupyter/nbconvert/blob/master/nbconvert/templates/html/full.tpl) posługiwać się. – IanS
Dodałem kilka tagów na wypadek, gdyby ktoś podążający za nimi pomógł ... – IanS
Przyjrzyj się podejściom, w których ludzie używają niestandardowego CSS. Pamiętaj jednak, że jest to jeden rozmiar pasujący do wszystkich wyników Jupyter HTML, więc rozmiar musiałby być śmiesznie mały, aby wyrenderować 500 wierszy bez zawijania. Tak więc, krótka odpowiedź brzmi: Wątpię, czy to jest praktyczne. – smci