小编dte*_*ter的帖子

熊猫替换不起作用的元素

我已经查到了这个问题,大多数问题都是针对更复杂的替代品.但是在我的情况下,我有一个非常简单的数据帧作为测试假人.

目的是用nan替换数据框中任何位置的字符串,但这似乎不起作用(即不替换;没有任何错误).我已经尝试用另一个字符串替换它也不起作用.例如

d = {'color' : pd.Series(['white', 'blue', 'orange']),
   'second_color': pd.Series(['white', 'black', 'blue']),
   'value' : pd.Series([1., 2., 3.])}
df = pd.DataFrame(d)
df.replace('white', np.nan)
Run Code Online (Sandbox Code Playgroud)

输出仍然是:

      color second_color  value
  0   white        white      1
  1    blue        black      2
  2  orange         blue      3
Run Code Online (Sandbox Code Playgroud)

python replace numpy pandas

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

将变量从 Flask 传递回 Ajax

当我访问我的页面根目录时,我的烧瓶会生成一个包含元素的基本 jinja 模板:

<div><span id="var_1">{{ var1|safe }}</span></div>
<div><span id="var_2">{{ var2|safe }}</span></div>
<div><span id="var_3">{{ var3|safe }}</span></div>
Run Code Online (Sandbox Code Playgroud)

在这个模板中,我有使用 Ajax 发布它们的值的下拉菜单,然后我从烧瓶中检索它们以进行一些计算。

function submitValues(val) {
    var entry1 = $('#dropdown1').val(); 
    $.ajax({
    type: "POST",
    url: "/getData",
    data: {entry2_id: val, entry1_id: entry1},
    success: function(data){
    }
    });
}
Run Code Online (Sandbox Code Playgroud)

完成计算后,如何将变量传递回 ajax 以使用新的“计算”变量更新基本模板中的 3 个元素?

在烧瓶中:

@app.route("/getData", methods=['POST'])
def getData():
    entry2Value = request.form['entry2_id']
    entry1Value = request.form['entry1_id']

    #### DO CALCULATIONS HERE WHICH GENERATES 3 NEW VALUES
    #### newVal1, newVal2, newVal3
    #### change var1, var2, var3 from the original template to these …
Run Code Online (Sandbox Code Playgroud)

javascript python ajax jquery flask

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

在烧瓶中渲染模板后更新 Jinja 元素

在烧瓶函数中渲染模板后,元素是否可以动态更改,即无需重新渲染模板?

假设我有这个烧瓶页面:

@app.route("/"):
def index():
  ### generate div content
  ### have a button callback that changes the div content
  return render_template('index.html', divcontent=content)
Run Code Online (Sandbox Code Playgroud)

然后在模板中:

{{divcontent}}
Run Code Online (Sandbox Code Playgroud)

即使回调成功更改了flask 中的div 内容变量,页面也不会更新。我说这是因为页面在第一次加载时已经呈现,因此内容没有动态更新,我说得对吗?

在上下文中; 我将散景图的 div 组件嵌入到模板中,如下所示:

script, div = components(fig, INLINE)
return render_template('index.html', script=script, div=div)
Run Code Online (Sandbox Code Playgroud)

但我在同一页面上也有一个下拉菜单,如果更改,应该更改绘图,因此在下拉回调中,我通过使用现在新的“无花果”调用组件函数来“重新生成”脚本和 div,但是页面没有显示这些更改,我认为这是因为页面是第一次呈现的,所以新的参数脚本和 div 没有被更新。

我也在用多个下拉菜单做类似的事情;即当在散景小部件中选择一个下拉列表时,它会调用一个回调,该回调应该用自定义列表填充另一个下拉列表。以下是实际的回调JS代码:

dropdown2 = Select(title="Parameter:", value="Select parameter", options=['Select parameter'])

callback = CustomJS(args=dict(dropdown2=dropdown2), code="""
    var selValue = cb_obj.get('value');
    $.ajax({
    type: "POST",
    url: "retrieveColumns",
    data:'id='+selValue,
    success: function(data){
        dropdown2.set('options',data.List);
    }
    });
    column_select.set('options','hi');
    column_select.trigger('change');
""")

dropdown1 = Select(title="Choose type:", value="Select type", …
Run Code Online (Sandbox Code Playgroud)

python templates jinja2 flask bokeh

5
推荐指数
0
解决办法
1559
查看次数

熊猫枢轴数据框具有不相等的列

我有一个数据框,其中一列包含类别变量,而另一列包含连续变量,如下所示:

    gender  contVar
    Male     22379
    Female   24523
    Female   23421
    Male     23831
    Male     29234
Run Code Online (Sandbox Code Playgroud)

我想要一张像这样的桌子:

    Male   Female
    22379   24523
    23831   23421
    23831
    29234
Run Code Online (Sandbox Code Playgroud)

大熊猫有可能吗?当我做:

    df.pivot(index = df.index.tolist(), columns='gender', values='contVar') 
Run Code Online (Sandbox Code Playgroud)

我知道索引超出范围(显然,因为有索引,所以没有行,但我也认为是因为每一列的行数不相等)。任何想法表示赞赏。

python pivot dataframe pandas

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

5
推荐指数
2
解决办法
6149
查看次数

keras 中的多个嵌入层

使用预训练嵌入,我们可以将它们指定为 keras 嵌入层中的权重。要使用多个嵌入,指定多个嵌入层是否合适?IE

embedding_layer1 = Embedding(len(word_index) + 1,
                        EMBEDDING_DIM,
                        weights=[embedding_matrix_1],
                        input_length=MAX_SEQUENCE_LENGTH,
                        trainable=False)

 embedding_layer2 = Embedding(len(word_index) + 1,
                        EMBEDDING_DIM,
                        weights=[embedding_matrix_2],
                        input_length=MAX_SEQUENCE_LENGTH,
                        trainable=False)

 model.add(embedding_layer1)
 model.add(embedding_layer2)
Run Code Online (Sandbox Code Playgroud)

建议将它们总结起来并将它们表示为一个层,这不是我所追求的。

embedding keras tensorflow word-embedding

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

Python使用*args填充函数的输入参数

如果我有一个支持变量参数号的函数,即使用*args,我如何从循环/列表理解中填充参数?假设函数需要多个列表作为参数,并且我有一个表/数据帧,并希望将每列用作输入参数,为什么这不起作用?

funName([df[iCol].values for iCol in df.columns])

假设我的数据框有5列,我需要像这样调用函数:

funName(col1, col2, col3, col4, col5)

但我不想为每列手动创建变量,而是动态填充参数列表.谢谢.

python arguments function args kwargs

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