我正在尝试对一个和进行优化,只是不知道如何正确地编写代码。检查了一堆其他的线程scipy.optimization.minimize最小化但仍有困难。希望有人能给我指出正确的方向和解释。你知道吗
我的目标:代码中有以下不同长度的表格。我希望我的算法从A中选择2行,从B中选择3行,从C中选择2行,从D中选择1行,从E中选择1行。它不能两次选择同一个条目。我想优化所有行选项中x的最大和,但对y的相应和设置一个限制,使其不超过4。另外,对于在列D中选取的行的任何label2,我希望在label1中具有该值的所有其他表中的所有行都从选择中排除。最后一次真的很挣扎。。。你知道吗
摘要:表D的所选值的Want max(sum(x))st sum(y)<;4和label2不是表A、B、C、E的所选值的元素
输出应该是所选的行。你知道吗
谢谢你的帮助!只是我似乎无法理解这件事,它已经困扰了我好几天了。谢谢!你知道吗
import pandas as pd
import numpy as np
def make_table(x):
categories = ['a','b','c','d','e']
labels = []
for i in range(0,x):
j = np.random.choice(5, 2, replace=False)
labels.append([categories[j[0]],categories[j[1]]])
X1 = pd.DataFrame({
'x': np.random.randn(x),
'y': np.random.randn(x)
})
X2 = pd.DataFrame(np.array(labels), columns=['label1','label2'])
return pd.concat([X2,X1], axis=1)
A = make_table(50)
B = make_table(100)
C = make_table(50)
D = make_table(25)
E = A+B+C+D
Sample table (only showing first 6 rows. All tables look like this though):
label1 label2 x y
e a 0.394106 1.961436
a b -0.802064 0.051326
a e 1.819099 -1.205606
e b 0.792452 -0.535669
b d -1.290806 -1.146422
a b -0.530618 -0.871684
...
目前没有回答
相关问题 更多 >
编程相关推荐