小编Zac*_*she的帖子

simple_form - 如何使用嵌套输入文本框创建单选按钮

我正在使用simple_form来呈现我的表单并尝试获得以下行为:我希望客户端从3个选项中进行选择.在每个选项中,他提供额外的一两个领域.
所以我想要这样的事情:

Please set your preferences:  
 o Pay me on a specific day - [input field to get the day]  
 o Pay me a specific amount of money - [input field for the amount]  
 o Pay me on a regular basis - [radio buttons to choose between weekly/monthly basis]
Run Code Online (Sandbox Code Playgroud)

我可以按如下方式创建单选按钮,但不能在其下添加嵌套字段:

<%= simple_form_for @client, action: 'edit_payment_method' do |f| %>
    <%= f.input :payment_type, label: 'Please set your preferences:',
        collection: [ ['Pay me on a specific day', :specific_day],
        ['Pay me a specific amount …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails-3 simple-form

4
推荐指数
1
解决办法
6677
查看次数

更新图中的所有节点

我有一个带有~250M节点的Neo4J数据库(社区版,v2.3.2),我需要运行一个查询来迭代所有节点并更新属性.它不是我的例行查询的一部分,而是我必须运行的一次性维护任务.

我可以用Cypher轻松表达它,但看起来Neo4J试图在内存中保留所有节点,然后执行我的SET操作,导致内存耗尽,甚至更糟 - 将整个JVM放入一个恒定的GC循环中.我有可能让它在foreach循环中运行,一次在一个节点上运行吗?

我的Cypher查询将是:

MATCH (n:MyNode) WHERE NOT HAS (n.newColumn) SET n.newColumn=n.c1+n.c2

我不介意它是否运行了很长时间,只是它不会崩溃服务器本身.如果Cypher不是这项任务的最佳工具,我也愿意使用其他API.

更一般地说 - 当您需要在Neo4J DB上运行"全图扫描"查询时,最佳做法是什么?

谢谢!

neo4j cypher

3
推荐指数
1
解决办法
823
查看次数

计算具有缺失值的列的sin

我有一个pandas DataFrame,其中包含2个地理位置(long_1,lat_1,long_2,lat_2)的列,我想为它们之间的距离添加一列.近似公式可以在互联网上找到,忽略细节,它涉及罪和cos,这就是我的问题所在.

我想算一算np.sin( df["long_1"] ).如果所有值都不为null,则它可以工作但是一旦我丢失了值,它就会抛出错误而不是返回NaN.我收到以下错误:

In [97]: np.sin( df["long_1"] )
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-97-d95dd98ecd44> in <module>()
----> 1 np.sin( df["long_1"] )

AttributeError: sin
Run Code Online (Sandbox Code Playgroud)

知道可能是什么问题吗?或者,如果我在这里错了 - 在具有一些缺失值的系列上计算sin/cos的最佳方法是什么(NaN当缺少输入值时,预期行为应该返回).

谢谢!

python pandas

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

从自定义DoFn中产生`finish_bundle`的结果

我的流水线的第一步涉及从外部数据源中获取数据,我想分块进行(顺序无关紧要)。我找不到任何类似的类,因此创建了以下内容:

class FixedSizeBatchSplitter(beam.DoFn):
  def __init__(self, size):
    self.size = size

  def start_bundle(self):
    self.current_batch = []

  def finish_bundle(self):
    if self.current_batch: 
      yield self.current_batch

  def process(self, element):
    self.current_batch.append(element)
    if len(self.current_batch) >= self.size:
      yield self.current_batch
      self.current_batch = []
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此管道时,出现RuntimeError: Finish Bundle should only output WindowedValue type错误:

with beam.Pipeline() as p:
  res = (p
         | beam.Create(range(10))
         | beam.ParDo(FixedSizeBatchSplitter(3))
        )
Run Code Online (Sandbox Code Playgroud)

这是为什么?我怎么才能在process而不是在其中产生输出finish_bundle?顺便说一句,如果我删除finish_bundle管道的工作,但显然会丢弃剩余的。

apache-beam

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