我试图通过找到N一个人会使用的最佳单位来最大化效用函数.其中一个限制因素是他们的资金有限m.所以我试图设置一个约束,其中长度为3的数组N乘以价格,P也是长度为3的数组,不能大于m.
如下例子:
P = np.array([3,4,5])
N = np.array([1,2,1])
m = 50
sum(P*N) > m
Run Code Online (Sandbox Code Playgroud)
对于此优化,P基于先前的优化给出.现在这是我的实际代码:
cons_c = [{'type':'ineq', 'fun': lambda N: 10 - sum(np.round(N)*P)},{'type':'ineq', 'fun': lambda N: 24 - sum(N*T)}]
bnds = [(0.,None) for x in range(len(N))]
optimized_c = scipy.optimize.minimize(utility_c, N, (P,Q,T), method='SLSQP', bounds=bnds, constraints=cons_c)
Run Code Online (Sandbox Code Playgroud)
功能:
def utility_c(N,P,Q,T):
print "N: {0}".format(N)
print "P: {0}".format(P)
print "Q: {0}".format(Q)
print "T: {0}".format(T)
N = np.round(N)
m = 10 - sum(N*P) …Run Code Online (Sandbox Code Playgroud) 我想在我的开发设备上测试接收 Firebase Analytics 事件。此处的文档说您需要通过向 Xcode 添加命令行参数来执行此操作。
要在您的开发设备上启用 Analytics 调试模式,请在 Xcode 中指定以下命令行参数:
-FIRDebugEnabled
你应该如何为 Flutter 做到这一点?当您通过 VS Code 或通过flutter run?
我尝试按照此处的答案进行操作,但无济于事。我认为 Flutter 使用 Xcode 构建,所以将参数添加到运行方案中可能不适用于 Flutter?
我也尝试将IS_ANALYTICS_ENABLEDin设置为 true GoogleService-Info.plist,但似乎也没有用。
我已经让事件显示在 Firebase 的调试事件控制台中,但前提是我从 Xcode 启动应用程序。如果我从 Flutter 这样做,它仍然不会发送事件(这就是我想要完成的)。
对于单个阵列,有很多解决方案可以做到这一点,但是矩阵怎么样,例如:
>>> k
array([[ 35, 48, 63],
[ 60, 77, 96],
[ 91, 112, 135]])
Run Code Online (Sandbox Code Playgroud)
你可以使用k.max(),但当然这只返回最高值,135.如果我想要第二个或第三个怎么办?
我正在尝试在 VSCode 中的窗口加载上运行任务,其中终端打开并nvm use && yarn dev默认运行。但是,运行此 shell 任务似乎不会加载我的 zsh 配置文件。
我运行任务得到的输出是:
The terminal process "zsh '-c', 'nvm use && yarn dev'" terminated with exit code: 127.
Terminal will be reused by tasks, press any key to close it.
Run Code Online (Sandbox Code Playgroud)
但是,如果我随后手动启动一个新终端并运行相同的命令(即:按加号,打开一个新的集成终端),它将按预期工作。
怀疑 VSCode 由于某种原因没有加载我的配置文件,我尝试将以下内容添加到我的任务中,但导致了错误/bin/zsh: can't open input file: nvm use && yarn dev The terminal process "zsh '-l', 'nvm use && yarn dev'" terminated with exit code: 127.。
The terminal process "zsh '-c', 'nvm use && yarn …Run Code Online (Sandbox Code Playgroud) 我有一个Visual Studio解决方案:
.csproj)
proj A(类库):proj refs - > proj B,没有Nuget包proj B (类库):没有proj引用,没有Nuget包.csproj)
proj C(类库):proj refs - > proj B,几个Nuget包proj D(测试项目):proj refs - > proj C,proj B&proj A,几个Nuget包这个解决方案在运行VS Community 2017的本地机器上运行良好15.7.3此解决方案也可以在我的构建机器上构建,该机器使用MSBuild相同版本的相同VS.
问题
当我添加Nuget包(在本例中Newtonsoft)时,会出现问题proj A.该解决方案在我的本地计算机上构建良好,但在使用时不起作用MSBuild.此外,如果我使用安装在那里的VS在我的构建机器上加载解决方案,它构建正常.
引发的错误是:
error CS0246: The type or namespace name 'Newtonsoft' could not be found (are you missing …
我有一个页面列出了大约30个投资组合,每个投资组合有3个股票.我正在尝试创建一个与每个投资组合一起使用的饼图,其中饼图将由该投资组合中的三只股票组成.
股票的价值被打印到屏幕上,所以我可以用jQuery .text()和它轻松地抓住它们.slice().
当我想改变图表中的数据以对应每个投资组合(或股票组)时,我的问题就出现了.
的<script>:
$(document).ready(function() {
$.each($('.stocks-data'), function(){
$this = $(this);
$a_base = $this.children(".a-card").text();
$a_pie = $a_base.].replace ( /[^\d.]/g, '' );;
console.log($a_pie)
$b_base = $this.children(".b-card").text();
$b_pie = $b_base.replace ( /[^\d.]/g, '' );
console.log($b_pie)
$c_base = $this.children(".c-card").text();
$c_pie = $c_base.replace ( /[^\d.]/g, '' );
console.log($c_pie)
var data = [
{
value: $a_pie,
color:"#F7464A",
highlight: "#FF5A5E",
label: "Stock A"
},
{
value: $b_pie,
color: "#46BFBD",
highlight: "#5AD3D1",
label: "Stock B"
},
{
value: $c_pie,
color: "#FDB45C", …Run Code Online (Sandbox Code Playgroud) 简要说明:
我有一个Scrapy项目,该项目从Yahoo!获取库存数据。金融。为了使我的项目正常工作,我需要确保库存已到期望的时间。为此,我首先取消CAT(Caterpillar Inc.(CAT)-NYSE),获取该时间段的收盘价,然后确保所有在此之后报废的股票具有与CAT相同的收盘价。 ,从而确保已将股票公开交易了所需的时间长度。
问题:
这一切都很好,但我的问题是,在scrapy完成CAT解析之前,它开始刮除其他股票并进行解析。这导致出现错误,因为在我可以从CAT获得所需的收盘价之前,scrapy试图确定是否有其他股票具有与CAT相同的收盘价,而这还不存在。
实际问题
我该如何强制scrapy在开始其他网址之前先完成对其中一个网址的解析
我也尝试过:
def start_requests(self):
global start_time
yield Request('http://finance.yahoo.com/q?s=CAT', self.parse)
# Waits 4 seconds to allow CAT to finish crawling
if time.time() - start_time > 0.2:
for i in self.other_urls:
yield Request(i, self.parse)
Run Code Online (Sandbox Code Playgroud)
但other_urls进货从未开始,因为刮y永远不会回到def start_requests检查时间是否已到0.2
整个代码:
from scrapy.selector import Selector
from scrapy import Request
from scrapy.exceptions import CloseSpider
from sharpeparser.gen_settings import *
from decimal import Decimal
from scrapy.spider import Spider
from sharpeparser.items import SharpeparserItem
import numpy
import time
if …Run Code Online (Sandbox Code Playgroud) 我正在尝试重定向刚刚登录到他/她各自的帐户页面的用户。
这个问题已被问过几次,但大多数都是旧的,并且使用静态 url,例如/accounts/profile/:Django - 登录后,将用户重定向到他的自定义页面 --> mysite.com/username。我想使用动态 url 命名来实现此解决方案。
例如,如果我的帐户登录页面具有以下网址格式怎么办?
url(r'^account/(?P<pk>\d+)/(?P<name>\w+)/$', AccountLanding.as_view(), name="account-landing" )`.
Run Code Online (Sandbox Code Playgroud)
我将如何传递 args settings.pyfor LOGIN_REDIRECT_URL?
我正在研究一个python项目,该项目在完成所有计算之前运行了几个小时.我希望随着计算的进展保持前10项计算结果.
有明显的做法:
if calc > highest_calc:
second_calc = highest_calc
highest_calc = calc
if calc < highest_calc and calc > second_calc:
third_calc = second_calc
second_calc = calc
if calc < second_calc and calc > third_calc:
fourth_calc = third_calc
third_calc = calc
etc.
Run Code Online (Sandbox Code Playgroud)
但是,有更好,更有活力和更pythonic的方式吗?
奖金
对于我的项目,每个计算都有三个相应的名称:name_a name_b name_c.我不想要的是拥有相同三个名字的前10个值中的一个.但是,如果最后一个calc具有相同的名称,我想保持两者中最高的一个.最好的方法是什么?
例如,假设2.3是calc,使用MCD SBUX和CAT计算的值calc.但是,如果我已经做了一个calc使用MCD SBUX和CAT它做了它对顶?我如何找到它的值,calc以便我可以看到它是否小于或大于新的值calc.如果大于,则删除旧的calc并添加新的calc calc.如果它小于,则pass新计算.希望这是有道理的:
If name_a in …Run Code Online (Sandbox Code Playgroud) 这里有很多问题,想要找到numpy数组中的第n个最小元素.但是,如果你有一个数组数组怎么办?像这样:
>>> print matrix
[[ 1. 0.28958002 0.09972488 ..., 0.46999924 0.64723113
0.60217694]
[ 0.28958002 1. 0.58005657 ..., 0.37668355 0.48852272
0.3860152 ]
[ 0.09972488 0.58005657 1. ..., 0.13151364 0.29539992
0.03686381]
...,
[ 0.46999924 0.37668355 0.13151364 ..., 1. 0.50250212
0.73128971]
[ 0.64723113 0.48852272 0.29539992 ..., 0.50250212 1. 0.71249226]
[ 0.60217694 0.3860152 0.03686381 ..., 0.73128971 0.71249226 1. ]]
Run Code Online (Sandbox Code Playgroud)
如何从这个数组中获取n个最小的项目?
>>> print type(matrix)
<type 'numpy.ndarray'>
Run Code Online (Sandbox Code Playgroud)
这就是我一直在寻找最小项目的坐标:
min_cordinates = []
for i in matrix:
if numpy.any(numpy.where(i==numpy.amin(matrix))[0]):
min_cordinates.append(int(numpy.where(i==numpy.amin(matrix))[0][0])+1)
Run Code Online (Sandbox Code Playgroud)
现在我想找到10个最小的项目.