小编Log*_*ang的帖子

在Python中查找列表中匹配元素的索引

我有一长串的浮点数,范围从1到5,称为"平均值",我想返回小于或大于b的元素的索引列表

def find(lst,a,b):
    result = []
    for x in lst:
        if x<a or x>b:
            i = lst.index(x)
            result.append(i)
    return result

matches = find(average,2,4)
Run Code Online (Sandbox Code Playgroud)

但令人惊讶的是,"匹配"的输出中有很多重复,例如[2, 2, 10, 2, 2, 2, 19, 2, 10, 2, 2, 42, 2, 2, 10, 2, 2, 2, 10, 2, 2, ...].

为什么会这样?

python indexing list find

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

如何在列表或np.array中查找n个最大元素的索引

是否有内置函数或非常简单的方法来查找列表或numpy数组中n个最大元素的索引?

K = [1,2,2,4,5,5,6,10]
Run Code Online (Sandbox Code Playgroud)

找到最大的5个元素的索引?

我不止一次地计算重复项,输出应该是那些最大数字的索引列表

python arrays list

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

VS Code Python autopep8 不支持 2 个空格悬挂缩进

我试图让 autopep8 工作以正确缩进带有 2 个空格而不是 4 个空格的 Python 代码。我正在使用带有 Python 扩展的 VS Code,它使用 autopep8 进行格式化。我在这里发现可以将 autopep8 配置为使用 2 个空格

"python.formatting.autopep8Args": ["--indent-size=2"]
Run Code Online (Sandbox Code Playgroud)

但它对我不起作用。

我的情况是这样的。当我按回车键时,它正确地开始下一行,缩进与上一行相同。在一个左括号后按回车,它会正确地以另外 2 个空格开始新行。但是当我粘贴或保存时(我将“editor.formatOnPaste”和“editor.formatOnSave”设置为true),烦人的事情发生了:括号内的所有2空格缩进都变成了4(其他2空格缩进不受影响) . 为什么要这样做,我怎样才能让它到处都是 2 个空格?

在此处输入图片说明

====编辑====

我发现 pylint 错误Wrong hanging indentation (remove 2 spaces). [bad-continuation]。这是因为我的 pylintrc 有indent-after-paren=2. 我想知道 autopep8 或其他 Python 格式化程序是否可以设置此属性?

python autopep8 visual-studio-code

12
推荐指数
4
解决办法
8801
查看次数

在R中对命名列表进行排序

我有一个命名的术语频率列表,

> list
$`in the`
[1] 67504

$`to the`
[1] 36666

$`of the`
[1] 79665

$`on the`
[1] 31261

$`to be`
[1] 25862

$`for the`
[1] 28332
Run Code Online (Sandbox Code Playgroud)

我想根据频率将它们按降序排序.这该怎么做?我尝试了sort,sort.list,order但是有错误说他们不接受这种类型的列表.

sorting r list hashmap

10
推荐指数
2
解决办法
6560
查看次数

如何在网页上制作进度栏以进行熊猫操作

我已经搜寻了一段时间,却想不出办法。我有一个简单的Flask应用程序,它需要一个CSV文件,将其读入Pandas数据框,将其转换并输出为新的CSV文件。我已经成功上传并成功使用HTML进行了转换

<div class="container">
  <form method="POST" action="/convert" enctype="multipart/form-data">
    <div class="form-group">
      <br />
      <input type="file" name="file">
      <input type="submit" name="upload"/>
    </div>
  </form>
</div>
Run Code Online (Sandbox Code Playgroud)

单击“提交”后,它将在后台运行转换一段时间,并在完成后自动触发下载。接受result_df并触发下载的代码如下所示

@app.route('/convert', methods=["POST"])
def convert(
  if request.method == 'POST':
    # Read uploaded file to df
    input_csv_f = request.files['file']
    input_df = pd.read_csv(input_csv_f)
    # TODO: Add progress bar for pd_convert
    result_df = pd_convert(input_df)
    if result_df is not None:
      resp = make_response(result_df.to_csv())
      resp.headers["Content-Disposition"] = "attachment; filename=export.csv"
      resp.headers["Content-Type"] = "text/csv"
      return resp
Run Code Online (Sandbox Code Playgroud)

我想添加一个进度条,pd_convert从本质上来说这是一个熊猫应用操作。我发现该方法tqdm现在可用于熊猫,并且它具有progress_apply而不是的方法apply。但是我不确定是否与在网页上制作进度条有关。我猜应该是因为它可以在Jupyter笔记本上使用。如何pd_convert()在此处添加进度栏?

我想要的最终结果是: …

python ajax flask pandas tqdm

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

如何在Python中连接两个矩阵?

我有两个csr_matrix,uniFeature而且biFeature.

我想要一个新的矩阵Feature = [uniFeature, biFeature].但是,如果我以这种方式直接连接它们,则会出现一个错误,表明矩阵Feature是一个列表.如何实现矩阵连接并仍然获得相同类型的矩阵,即csr_matrix

如果我在连接后执行此操作它不起作用:Feature = csr_matrix(Feature) 它给出错误:

Traceback (most recent call last):
  File "yelpfilter.py", line 91, in <module>
    Feature = csr_matrix(Feature)
  File "c:\python27\lib\site-packages\scipy\sparse\compressed.py", line 66, in __init__
    self._set_self( self.__class__(coo_matrix(arg1, dtype=dtype)) )
  File "c:\python27\lib\site-packages\scipy\sparse\coo.py", line 185, in __init__
    self.row, self.col = M.nonzero()
TypeError: __nonzero__ should return bool or int, returned numpy.bool_
Run Code Online (Sandbox Code Playgroud)

python concatenation matrix scipy

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

使用CUDA并行实现多个SVD

我是使用GPU进行并行编程的新手,所以如果问题广泛或模糊,我会道歉.我知道CULA库中有一些并行的SVD功能,但是如果我有大量相对较小的矩阵来分解,应该采取什么策略呢?例如,我有n尺寸矩阵d,n大而d小.如何并行化这个过程?谁能给我一个提示?

parallel-processing cuda gpu svd

6
推荐指数
2
解决办法
4642
查看次数

Heroku上的“未为进程类型Web指定命令”

我做到了heroku container:push web,它给了Your image has been successfully pushed. You can now release it with the 'container:release' command.然后我跑了heroku container:release web,它说

No command specified for process type web
Run Code Online (Sandbox Code Playgroud)

我也heroku stack:set container按照这里的建议尝试,但没有任何变化。

我的个人资料为

web: gunicorn app:app --log-file=-
Run Code Online (Sandbox Code Playgroud)

不知道出了什么问题以及如何调试。任何帮助表示赞赏!

heroku docker

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

LinAlgError:Statsmodels 逻辑回归中的奇异矩阵

我正在 Lalonde 数据集上运行逻辑回归来估计倾向得分。我使用了logit函数 fromstatsmodels.statsmodels.formula.api并将协变量包裹起来,C()使它们成为分类变量。将ageeduc视为连续变量会导致成功收敛,但将它们设为分类变量会增加误差

Warning: Maximum number of iterations has been exceeded.
         Current function value: 0.617306
         Iterations: 35
---------------------------------------------------------------------------
LinAlgError                               Traceback (most recent call last)
<ipython-input-29-bae905b632a4> in <module>
----> 1 psmodel = fsms.logit('treatment ~ 1 + C(age) + C(educ) + C(black) + C(hisp) + C(married) + C(nodegr)', tdf).fit()
      2 tdf['ps'] = psmodel.predict()
      3 tdf.head()

~/venv/lib/python3.7/site-packages/statsmodels/discrete/discrete_model.py in fit(self, start_params, method, maxiter, full_output, disp, callback, **kwargs)
   1832         bnryfit = super(Logit, self).fit(start_params=start_params,
   1833 …
Run Code Online (Sandbox Code Playgroud)

python numpy statsmodels

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

Scala Spark - 将矢量列拆分为Spark DataFrame中的单独列

我有一个Spark DataFrame,其中我有一个Vector值列.矢量值都是n维的,也就是具有相同的长度.我还有一个列名列表Array("f1", "f2", "f3", ..., "fn"),每个列对应于向量中的一个元素.

some_columns... | Features
      ...       | [0,1,0,..., 0]

to

some_columns... | f1 | f2 | f3 | ... | fn

      ...       | 0  | 1  | 0  | ... | 0
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?我想到了一种方法,即创建一个新的DataFrame createDataFrame(Row(Features), featureNameList)然后与旧的DataFrame 连接,但它需要spark context来使用createDataFrame.我只想转换现有的数据框.我也知道,.withColumn("fi", value)但如果n很大我该怎么办?

我是Scala和Spark的新手,并没有找到任何好的例子.我认为这可能是一项常见任务.我的具体情况是我使用了CountVectorizer并且希望单独恢复每个列以获得更好的可读性,而不是仅仅具有向量结果.

scala dataframe apache-spark countvectorizer

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

为什么我在输出文件中看不到实时输出?

我认为编写文件可以提供实时输出,因为当我使用C/C++编写文件时就是如此.但是当我运行python程序时,输出文件似乎总是0字节,直到整个程序运行完毕.即使对于nohup python xxx.py &,print文件中的nohup.out内容也不是实时的,只能在执行后才能看到.我现在正在运行非常大的程序,并希望看到文件中的进度,我该如何实现它?

python file output

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

传递值与传递参考内存分配差异c ++

我想将一个巨大的stl向量传递给C++中的函数,当我按值传递时,它是否在内部复制了这个巨大的向量?我不清楚传递值和传递引用在内存分配方面有何不同.传递参考更有效率吗?我应该只将一个巨大的向量指针传递给函数,以便节省大量内存吗?

有人可以向我解释以下三种情况的记忆差异吗?假设obj很大.

1. func(vector<obj> )

2. func(vector<obj>*) 

3. func(vector<obj*>)
Run Code Online (Sandbox Code Playgroud)

c++ memory

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