У меня есть математическое уравнение, например, так:
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
Использование:
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