我有一个数学方程式:
number = x
mult = x * 7
div = mult / 3
add = div + 4
answer = add - 6
如何编写一个函数,该函数读取1到10之间的每个数字,并将结果输出到像这样的pandas数据框中:
x answer
1 0.333
2 2.666
3 5
. .
. .
. .
10 21.333
答案 0 :(得分:2)
使用:
df = pd.DataFrame({'x':np.arange(1, 11)})
df['answer'] = df.x * 7 / 3 + 4 - 6
#general solution if possible change operators
#df['answer'] = ((((df.x * 7) / 3) + 4) - 6)
print (df)
x answer
0 1 0.333333
1 2 2.666667
2 3 5.000000
3 4 7.333333
4 5 9.666667
5 6 12.000000
6 7 14.333333
7 8 16.666667
8 9 19.000000
9 10 21.333333
具有功能:
def func(first, last):
df = pd.DataFrame({'x':np.arange(first, last+1)})
df['answer'] = df.x * 7 / 3 + 4 - 6
return df
print (func(1, 10))
x answer
0 1 0.333333
1 2 2.666667
2 3 5.000000
3 4 7.333333
4 5 9.666667
5 6 12.000000
6 7 14.333333
7 8 16.666667
8 9 19.000000
9 10 21.333333