Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用SciPy优化多约束函数_Python_Pandas_Scipy_Scipy Optimize_Scipy Optimize Minimize - Fatal编程技术网

Python 如何使用SciPy优化多约束函数

Python 如何使用SciPy优化多约束函数,python,pandas,scipy,scipy-optimize,scipy-optimize-minimize,Python,Pandas,Scipy,Scipy Optimize,Scipy Optimize Minimize,我有三个数据帧,它们的列相同,如下所示: df1 = pandas.DataFrame(data = {'A' : ["a", "b", "c", "d", "e"], 'B' : [[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5]], 'C' : [10, 11, 12, 13, 14]

我有三个数据帧,它们的列相同,如下所示:

df1 = pandas.DataFrame(data = {'A' : ["a", "b", "c", "d", "e"], 'B' : [[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5]], 'C' : [10, 11, 12, 13, 14]}) 
df2 = pandas.DataFrame(data = {'A' : ["a", "b", "c"], 'B' : [[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5]], 'C' : [30, 31, 32]}) 
df3 = pandas.DataFrame(data = {'A' : ["a", "b", "c", "d"], 'B' : [[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5],[0.1, 0.2, 0.3, 0.4, 0.5]], 'C' : [50, 51, 52, 53]}) 
我有第四个数据帧,其中行数对应于我拥有的数据帧数,所以这里我有3行,然后是3个数据帧

dfZ = pandas.DataFrame(data = {'Z' : [1, 2, 3]}) 
我想做的是计算第四列,基本上是C列除以B列。 我希望从B列中每行的值列表中选择每行一个值。该值应用于所有数据帧(意味着如果我为索引“a”选择0.5,则该值应用于索引为“a”的所有数据帧)。但该选择需要满足这些条件

df1.sum() == dfZ['Z'].iloc[0] # tolerence 10 to 20%
df2.sum() == dfZ['Z'].iloc[1] # tolerence 10 to 20%
df2.sum() == dfZ['Z'].iloc[2] # tolerence 10 to 20%

环顾四周,这似乎是一个优化问题,但我不知道如何使用SciPy来解决它。

如果我理解正确,并且您希望优化索引的某些分区/选择,那么这是一个离散优化问题,SciPy可以为您做的不多。这更像是一个整数规划问题和scipy没有什么可以提供的。scipy的
全局优化
解算器可以做一些事情,但那只是一个黑客。如果我理解正确,你想优化一些索引的分区/选择,那么这是一个离散优化问题,scipy可以为你做的不多。这看起来更像是一个整数pr编程问题和scipy没有什么可以提供的。scipy的
全局优化
解算器可以做些什么,但那只是一个黑客。