Estoy ejecutando esta celda en IPython Notebook:
# salaries and teams are Pandas dataframe
salaries.head()
teams.head()
El resultado es que solo obtengo el resultado del teamsmarco de datos en lugar de ambos salariesy teams. Si solo ejecuto salaries.head(), obtengo el resultado para salariesel marco de datos, pero al ejecutar ambas declaraciones, solo veo el resultado de teams.head(). ¿Cómo puedo corregir esto?
pandas
jupyter-notebook
ipython
Lokesh
fuente
fuente

Respuestas:
has probado el
displaycomando?from IPython.display import display display(salaries.head()) display(teams.head())fuente
display()está automáticamente disponible para el usuario sin importar".from IPython.display import displayUna forma más sencilla:
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"Le ahorra tener que escribir repetidamente "Pantalla"
Digamos que la celda contiene esto:
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all" a = 1 b = 2 a bEntonces la salida será:
Out[1]: 1 Out[1]: 2Si usamos
IPython.display.display:from IPython.display import display a = 1 b = 2 display(a) display(b)La salida es:
1 2Entonces lo mismo, pero sin la
Out[n]parte.fuente
get_ipython().ast_node_interactivity = 'all', no reemplazar la propiedad de clase con una cadena constante!Proporcionar,
print salaries.head() teams.head()fuente
print salaries.head()no está bien formateada.IPython Notebook muestra solo el último valor de retorno en una celda. La solución más sencilla para su caso es utilizar dos celdas.
Si realmente necesita solo una celda, puede hacer un truco como este:
class A: def _repr_html_(self): return salaries.head()._repr_html_() + '</br>' + teams.head()._repr_html_() A()Si necesita esto a menudo, conviértalo en una función:
def show_two_heads(df1, df2, n=5): class A: def _repr_html_(self): return df1.head(n)._repr_html_() + '</br>' + df2.head(n)._repr_html_() return A()Uso:
Una versión para más de dos cabezas:
def show_many_heads(*dfs, n=5): class A: def _repr_html_(self): return '</br>'.join(df.head(n)._repr_html_() for df in dfs) return A()Uso:
fuente
Enumerando todas las soluciones:
sys.displayhook(value), al que se conecta IPython / jupyter. Tenga en cuenta que esto se comporta de forma ligeramente diferente a la llamadadisplay, ya que incluye elOut[n]texto. ¡Esto también funciona bien en Python normal!display(value), como en esta respuestaget_ipython().ast_node_interactivity = 'all'. Esto es similar pero mejor que el enfoque adoptado por esta respuesta .Comparando estos en una sesión interactiva:
In [1]: import sys In [2]: display(1) # appears without Out ...: sys.displayhook(2) # appears with Out ...: 3 # missing ...: 4 # appears with Out 1 Out[2]: 2 Out[2]: 4 In [3]: get_ipython().ast_node_interactivity = 'all' In [2]: display(1) # appears without Out ...: sys.displayhook(2) # appears with Out ...: 3 # appears with Out (different to above) ...: 4 # appears with Out 1 Out[4]: 2 Out[4]: 3 Out[4]: 4Tenga en cuenta que el comportamiento en Jupyter es exactamente el mismo que en ipython.
fuente