小编ana*_*and的帖子

如何在带有约束的scipy中使用最小化函数

我需要一些关于python(scipy)中优化函数的帮助,问题是优化f(x)在哪里x=[a,b,c...n].约束是a,b等的值应该在0和1之间,并且sum(x)==1.scipy.optimise.minimize函数似乎最好,因为它不需要差异.我如何传递参数?

使用排列创建一个ndarray太长了.我现在的代码如下: -

import itertools as iter
all=iter.permutations([0.0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1.0],6) if sum==1
all_legal=[]
for i in all:
if np.sum(i)==1:
    #print np.sum(i)
    all_legal.append(i)
print len(all_legal)
lmax=0
sharpeMax=0
for i in all_legal:
    if sharpeMax<getSharpe(i):
        sharpeMax=getSharpe(i)
        lmax=i
Run Code Online (Sandbox Code Playgroud)

python optimization numpy scipy

17
推荐指数
2
解决办法
3万
查看次数

将列表转换为字典,使用列表中的键和值

对不起,如果重复的问题,新的编程找不到任何合适的答案.我想将列表转换为字典.键为x [1],值为x [2]

为了清楚我有一个*3数组,需要将它转换为第二列作为键和第三列作为值的字典.

我试过了:

for entry in data:
     keys=entry[1]
     values=entry[2]

source = dict.fromkeys(keys, values)
Run Code Online (Sandbox Code Playgroud)

得到错误'类型列表不可以'

通过问题4576115.但是,我需要迭代3000+*3数组的每个元素,其中大多数元素本身是列​​表,然后将每个条目的第二个元素设置为键,将第3个元素设置为值.只是为了放大,也试过了

b = {data[i][1]: data[i][2] for i in range(0, len(data))}
Run Code Online (Sandbox Code Playgroud)

并输入数据:

keys=entry[1]
values=entry[2]
b.update(keys,values)
Run Code Online (Sandbox Code Playgroud)

keyList.append(keys)
valueList.append(values)
b = dict(zip(keyList,valueList))
Run Code Online (Sandbox Code Playgroud)

b={entry[1]:entry[2] for entry in data} 
Run Code Online (Sandbox Code Playgroud)

相同的问题 - 错误'列表'不可清除

好的,对不起.得到它了.问题是密钥本身就是列表.我正在看阵列并错过了元素

python dictionary list

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

python ×2

dictionary ×1

list ×1

numpy ×1

optimization ×1

scipy ×1