在Jupyter笔记本熊猫中的For循环中打印视觉上令人愉悦的DataFrames

use*_*057 6 python dataframe python-3.x jupyter-notebook

假设我在列表中有这两个数据框,

sm = pd.DataFrame([["Forever", 'BenHarper'],["Steel My Kisses", 'Kack Johnson'],\
                  ["Diamond On the Inside",'Xavier Rudd'],[ "Count On Me", "Bruno Mars"]],\
                   columns=["Song", "Artist"])

pm = pd.DataFrame([["I am yours", 'Jack Johnson'],["Chasing Cars", 'Snow Patrol'],\
                  ["Kingdom Comes",'Cold Play'],[ "Time of your life", "GreenDay"]],\
                   columns=["Song", "Artist"])

df_list = [sm,pm]
Run Code Online (Sandbox Code Playgroud)

现在,当我要在迭代时同时打印两个数据帧时,会得到类似的内容,

for i in df_list:
    print(i)
Run Code Online (Sandbox Code Playgroud)

结果,

                  Song        Artist
0                Forever     BenHarper
1        Steel My Kisses  Kack Johnson
2  Diamond On the Inside   Xavier Rudd
3            Count On Me    Bruno Mars
                Song        Artist
0         I am yours  Jack Johnson
1       Chasing Cars   Snow Patrol
2      Kingdom Comes     Cold Play
3  Time of your life      GreenDay
Run Code Online (Sandbox Code Playgroud)

但是,当我们df_list[0]以令人愉快的表格方式打印时,

在此处输入图片说明

当我遍历列表并打印数据框时,能否以视觉上令人满意的方式获得相同的结果?我一直在搜索,还没有运气。任何想法如何做到这一点?

(对不起,如果这在python中是正常的,因为我是Python和Jupyter的新手,那么视觉上令人愉悦的浏览器会让我感到高兴)

nea*_*mcb 11

您可以使用此:

from IPython.display import display

for i in df_list:
    display(i)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Jupyter Notebook Viewer上了解有关丰富而灵活的格式的更多技巧

  • 在最新的Python Jupyter版本中,不需要“from IPython.display import display”! (3认同)