如何将来自函数的用户输入显示到 pandas 数据框中?
How can I display user input from a function into a pandas dataframe?
我正在尝试使用 Jupyter Notebook 和 pandas 从函数中获取用户输入并将其放入数据框中。这是迄今为止我得到的最接近的东西。我正在尝试从数学方程式生成数字并将这些结果保留在变量中。然后将该变量中的这些结果放入数据框中并显示在带列的行中。它必须从函数中调用。也许我可以将结果保存到 csv 中然后调用它?任何帮助将不胜感激!
def main():
global df
n = eval(input("How many numbers should I print? "))
print("This program illustrates a chaotic function.")
x = eval(input("Enter the first number between 0 and 1: "))
y = eval(input("Enter the second number between 0 and 1: "))
for i in range(n):
x = 3.9 * x * ( 1 - x)
y = 3.9 * y * ( 1 - y)
df = pd.DataFrame(columns = {"1st Number": [x], "2nd Number": [y]})
print(df + (x,y))
input
仅在终端中有效。 Jupiter Notebook 基于网络 UI,这就是它不起作用的原因。
此时可以使用Jupiter Widget进行交互,代码示例如下:
import ipywidgets as widgets
def main(n, x, y):
print((n, x, y))
# do whatever you want
widgets.interact(main, n=widgets.IntSlider(), x=widgets.FloatSlider(min=0, max=1), y=widgets.FloatSlider(min=0, max=1));
如果之前没有安装widget包,可能需要先安装。
更多阅读:https://ipywidgets.readthedocs.io/en/latest/index.html#
你可以用这个,效果很好:
def main():
global df
n = int(input("How many numbers should I print? "))
print("This program illustrates a chaotic function.")
x = float(input("Enter the first number between 0 and 1: "))
y = float(input("Enter the second number between 0 and 1: "))
X = []
Y = []
for i in range(n):
x = 3.9 * x * ( 1 - x)
X.append(x)
y = 3.9 * y * ( 1 - y)
Y.append(y)
df = pd.DataFrame(list(zip(X, Y)),
columns =['1st Number', '2nd Number'])
print(df + (x,y))
我正在尝试使用 Jupyter Notebook 和 pandas 从函数中获取用户输入并将其放入数据框中。这是迄今为止我得到的最接近的东西。我正在尝试从数学方程式生成数字并将这些结果保留在变量中。然后将该变量中的这些结果放入数据框中并显示在带列的行中。它必须从函数中调用。也许我可以将结果保存到 csv 中然后调用它?任何帮助将不胜感激!
def main():
global df
n = eval(input("How many numbers should I print? "))
print("This program illustrates a chaotic function.")
x = eval(input("Enter the first number between 0 and 1: "))
y = eval(input("Enter the second number between 0 and 1: "))
for i in range(n):
x = 3.9 * x * ( 1 - x)
y = 3.9 * y * ( 1 - y)
df = pd.DataFrame(columns = {"1st Number": [x], "2nd Number": [y]})
print(df + (x,y))
input
仅在终端中有效。 Jupiter Notebook 基于网络 UI,这就是它不起作用的原因。
此时可以使用Jupiter Widget进行交互,代码示例如下:
import ipywidgets as widgets
def main(n, x, y):
print((n, x, y))
# do whatever you want
widgets.interact(main, n=widgets.IntSlider(), x=widgets.FloatSlider(min=0, max=1), y=widgets.FloatSlider(min=0, max=1));
如果之前没有安装widget包,可能需要先安装。
更多阅读:https://ipywidgets.readthedocs.io/en/latest/index.html#
你可以用这个,效果很好:
def main():
global df
n = int(input("How many numbers should I print? "))
print("This program illustrates a chaotic function.")
x = float(input("Enter the first number between 0 and 1: "))
y = float(input("Enter the second number between 0 and 1: "))
X = []
Y = []
for i in range(n):
x = 3.9 * x * ( 1 - x)
X.append(x)
y = 3.9 * y * ( 1 - y)
Y.append(y)
df = pd.DataFrame(list(zip(X, Y)),
columns =['1st Number', '2nd Number'])
print(df + (x,y))