在 for 循环的新窗口中更改 pandas 数据框中的值

时间:2021-02-19 19:35:02

标签: python html pandas google-chrome jupyter-notebook

我可以像这样在新窗口中创建一个 Pandas 数据框:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(6,4),columns=list('ABCD'))
# Show in Jupyter
df

from IPython.display import HTML
s  = '<script type="text/Javascript">'
s += 'var win = window.open("", "Title", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=780, height=200, top="+(screen.height-400)+", left="+(screen.width-840));'
s += 'win.document.body.innerHTML = \'' + df.to_html().replace("\n",'\\') + '\';'
s += '</script>'

    # Show in new Window
HTML(s)

然后我可以像这样动态更改此数据框中的值:

df /= 2
s  = '<script type="text/Javascript">'
s += 'win.document.body.innerHTML = \'' + df.to_html().replace("\n",'\\') + '\';'
s += '</script>'
HTML(s)

如果我把这段代码放在这样的 for 循环中:

number = [1,2]

for x in number:

    df /= 2
    s  = '<script type="text/Javascript">'
    s += 'win.document.body.innerHTML = \'' + df.to_html().replace("\n",'\\') + '\';'
    s += '</script>'
    HTML(s)

什么都没发生。为什么会这样以及如何在循环中调整此数据框?

如果我打印新的数据框,它会执行此操作,但不会在新窗口中更新该数据框。

0 个答案:

没有答案