【发布时间】:2020-05-19 03:43:59
【问题描述】:
我想计算给定日期的变量总和。每一天都包含不同的计算,但所有天都一致地使用变量。
有一个 df 指定了我的变量,还有一个 df 指定了计算将如何根据一天而改变。
如何创建一个包含来自这些不同方程式的答案的新列?
import pandas as pd
import numpy as np
conversion = [["a",5],["b",1],["c",10]]
conversion_table = pd.DataFrame(conversion,columns=['Variable','Cost'])
data1 = [[1,"3a+b"],[2,"c"],[3,"2c"]]
to_solve = pd.DataFrame(data1,columns=['Day','Q1'])
desired = [[1,16],[2,10],[3,20]]
desired_table=pd.DataFrame(desired,columns=['Day','Q1 solved'])
我已经根据行分离了我的变量和方程。我可以循环遍历这些方程以找到非数字并重新分配它们吗?
#separate out equations and values
for var in conversion_table["Variable"]:
cost=(conversion_table.loc[conversion_table['Variable'] == var, 'Cost']).mean()
for row in to_solve["Q1"]:
equation=row
【问题讨论】:
-
我不确定我是否理解,你能显示你预期的输出数据框吗
-
输出数据框为:desired_table
-
哦,好的,
3a可以改写成3*a这样eval就可以用了吗? -
是的,方程可以改写
-
好的,我提交了一个可能的解决方案,请验证