小编Kon*_*lph的帖子

矩阵类 (dgCMatrix) 的 rowsum 函数的等效项

对于基本的 R 矩阵类,我们有一个rowsum函数,它可以非常快速地计算跨行组的列总和。

Matrix 包中是否有等效的功能或方法?

rowsum对大型 dgCMatrix 对象(即数百万行,但大约 95% 稀疏)的快速替代方案特别感兴趣。

r matrix sparse-matrix rowsum

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

tensor.size(-1) 中的 -1 是什么意思?

我在 Pytorch 文档中看到过类似的东西,

import torch

a = torch.tensor([1, 2])
a.size() # torch.Size([2])
a.size(-1) # 2
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?我没有找到说明。谢谢,

python pytorch

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

使用 seq 和 rep 创建一个由 5 个整数组成的序列,每次重复该序列加 1

我正在尝试创建向量: 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 使用repseq功能

到目前为止我有这个:

rep(seq(1,5),5)
Run Code Online (Sandbox Code Playgroud)

其产量:

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

我一生都无法弄清楚如何逐步添加+1。

我已经尝试过rep(seq(1,5),5,+1)rep(seq(1,5),5, each +1许多其他变体。

是否需要for循环?

r sequence

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

如何检查PyObject是否为列表?

我是Python / C API的新手,虽然我可以使用一些基本功能,但我仍在为此而苦苦挣扎。

PyObject* sum_elements(PyObject*, PyObject *o) 
{
    Py_ssize_t n = PyList_Size(o);
    long total = 0;
    if (n < 0)
    {
        return PyLong_FromLong(total);
    }
    PyObject* item;
    for (int i = 0; i < n; i++) 
    {
        item = PyList_GetItem(o, i);
        if (!PyLong_Check(item)) continue;
        total += PyLong_AsLong(item);
    }
    return PyLong_FromLong(total);
}
Run Code Online (Sandbox Code Playgroud)

基本上,这是文档页面上介绍中的功能。它应该接收一个python列表并返回所有元素的总和。如果我通过一个列表,该函数工作正常,如果我通过其他内容,但是出现错误消息

SystemError: c:\_work\5\s\objects\listobject.c:187: bad argument to internal function
Run Code Online (Sandbox Code Playgroud)

这种情况应该由if (n<0)语句处理,如果传递的对象不是列表,则n为-1。

我通过以下方式绑定功能:

static PyMethodDef example_module_methods[] = {
    { "sum_list", (PyCFunction)sum_elements, METH_O, nullptr},
    { nullptr, nullptr, 0, nullptr } …
Run Code Online (Sandbox Code Playgroud)

c++ python python-c-api

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

向后打印字符串,同时删除字符

这会在从开头删除字符的同时打印单词。

word = "word"

length = len(word)
for s in range(0, length):
    print(word[s:])
    s=+1
Run Code Online (Sandbox Code Playgroud)

所以输出是

word
ord
rd
d
Run Code Online (Sandbox Code Playgroud)

如何翻转它,以便在删除字符时向后打印单词?
这样输出将是:

drow
row
ow
w
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

元组可与nullptr一起使用,但不适用于NULL

我有以下代码,其中std :: tuple可与nullptr一起使用,但不适用于NULL。

#include <iostream>
#include <tuple>

int main()
{
tuple<int*> t1, t2;

t1 = std::make_tuple(NULL);
t2 = std::make_tuple(nullptr);
}
Run Code Online (Sandbox Code Playgroud)

当使用C ++ 11编译时,该代码在使用nullptr时有效,但是在使用NULL的情况下会出现以下错误。

In file included from tuple.cpp:2:
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple:447:8: error: assigning to 'int *' from incompatible type 'long'
            = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in));
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/tuple:575:36: note: in instantiation of function template specialization 'std::_Tuple_impl<0, int *>::operator=<long>' requested here
          static_cast<_Inherited&>(*this) = std::move(__in);
                                          ^
tuple.cpp:13:8: note: in instantiation of function template specialization 'std::tuple<int *>::operator=<long, void>' requested here
    t1 = std::make_tuple(NULL);
       ^
1 error generated.
Run Code Online (Sandbox Code Playgroud)

在这里,NULL的类型是long …

c++ tuples

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

通过 ssh 在返回的文本中保留 '\n' 换行符

如果我在本地命令行中使用 grep 和 sort 等执行 find 命令,我会得到如下返回的行:

# find ~/logs/ -iname 'status' | xargs grep 'last seen' | sort --field-separator=: -k 4 -g
0:0:line:1
0:0:line:2
0:0:line:3
Run Code Online (Sandbox Code Playgroud)

如果我通过 ssh 执行相同的命令,则返回的文本将不带换行符打印,如下所示:

# VARcmdChk="$(ssh ${VARuser}@${VARserver} "find ~/logs/ -iname 'status' | xargs grep 'last seen' | sort --field-separator=: -k 4 -g")"
# echo ${VARcmdChk}
0:0:line:1 0:0:line:2 0:0:line:3
Run Code Online (Sandbox Code Playgroud)

我试图理解为什么 ssh 正在清理返回的文本,以便将换行符转换为空格。我还没有尝试输出到文件,然后使用 scp 将其拉回来。似乎很浪费,因为我只想在本地查看远程结果。

linux ssh bash opensuse

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

如何从私钥获取椭圆曲线公钥

因此,我需要使用 ECC spec256k1 从相应的 256 位数字中获取公钥。

因此,假设我从任何密码短语中使用 sha256 获取私钥,如下所示:

>>> import hashlib
>>> private_key = hashlib.sha3_256(b"Led Zeppelin - No Quarter").hexdigest()
>>> private_key
'c0b279f18074de51d075b152c8ce78b7bddb284e8cfde19896162abec0a0acce'
Run Code Online (Sandbox Code Playgroud)

如何从该私钥获取公钥?我需要将公钥打印为字符串。

python elliptic-curve public-key-encryption ecdsa

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

使用“{{”运算符通过环境变量隧道数据变量

遵循https://www.tidyverse.org/blog/2020/02/glue-strings-and-tidy-eval/ 中的示例

你如何将变量传递给这个函数?

library(tidyverse)
#> Warning: package 'tidyverse' was built under R version 3.6.2
#> Warning: package 'tidyr' was built under R version 3.6.2

mean_by <- function(data, by, var, prefix = "avg") {
  data %>%
    group_by({{ by }}) %>%
    summarise("{prefix}_{{ var }}" := mean({{ var }}, na.rm = TRUE))
}

mean_by(mtcars, by = cyl, var = mpg, prefix = "avg")
#> # A tibble: 3 x 2
#>     cyl avg_mpg
#>   <dbl>   <dbl>
#> 1     4    26.7
#> …
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyverse

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

如何绘制按两个变量分组的条形图

我有很多年的 15 分钟时间步长数据......

约会时间 数量
2018年1月7日 00:15 6.96
2018年1月7日 00:30 6.48
2018年1月7日 00:45 6.96
2018年1月7日 01:00 6.72

我正在使用熊猫。如何生成横轴为月份的条形图;以及每年的一系列(一组条形图);每个条形的高度是该月和该年的总量。

正是这样:

示例图

python datetime matplotlib dataframe pandas

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