从数组创建和填充多个数据框列

时间:2018-07-26 16:21:09

标签: python pandas function loops dataframe

我需要一些帮助重构代码,任何帮助将不胜感激。

我创建了多个新的数据框列,如下所示:

input_1 = 1
f = (x/y-x/y*np.exp(-y*input_1)).mean(axis=0)
df['input_1'] = np.asarray(f)
df['calc_1'] = (df['input_1']+1) * df['some_value']

input_2 = 2
f = (x/y-x/y*np.exp(-y*input_2)).mean(axis=0)
df['input_2'] = np.asarray(f)
df['calc_2'] = (df['input_2']+1) * df['some_value']

etc.

我想重构上面的代码,因为上面的方法很着急,而且很难看。

这是我走了多远:

results = []
input = list(range(1,25))
for i in input:
    results.append((x/y-x/y*np.exp(-y*i)).mean(axis=0))
results = np.asarray(results)

给我带来一些问题的步骤是,像我在上面的“丑陋”版本中所做的那样,为每个输入在df中创建并填充一个新列,但是我不想手动插入每个新列,而是想编写一个-loop一次执行。

示例:

for array in results[range(0,len(input))]:
    ...

谢谢!

0 个答案:

没有答案