我尝试使用以下代码运行简单的函数n次:
df = pd.DataFrame()
def repeat_fun(times, f, args):
for i in range(times): f(args)
def f(x):
g = np.random.normal(0, 1, 32)
mm = np.random.normal(491.22, 128.23, 32)
x = 491.22+(0.557*(mm -491.22))+(g*128.23*(np.sqrt(1-0.557**2)))
print x
repeat_fun(2,f,df)
但是我希望结果列的运行时间方面。上面的函数给出了一个数组类型的结果。任何人都可以帮我弄清楚这个问题。
答案 0 :(得分:1)
很难知道您的意思,但我认为您希望将f
的结果存储为数据框中的列。如果是这样的话:
import pandas as pd
import numpy as np
df = pd.DataFrame()
def repeat_fun(times, f, args):
for i in range(times): f(i,args)
def f(iteration,df):
g = np.random.normal(0, 1, 32)
mm = np.random.normal(491.22, 128.23, 32)
x = 491.22+(0.557*(mm -491.22))+(g*128.23*(np.sqrt(1-0.557**2)))
df[iteration] = x
repeat_fun(2,f,df)
运行此命令并查看/打印df的内容,看看是否有帮助。