小编mat*_*ath的帖子

如何在 R 中自动更新 S4 类的插槽

我在 R 中使用 S4 对象并想知道以下问题:

让我们假设以下简化示例:我们在 R 中有两个 S4 类,一个称为Customer,另一个称为Order。我们使用以下插槽定义它们:

Customer <- setClass(Class = "Customer",slots = c(CustomerID = "numeric", Name = "character", OrderHistory = "data.frame"),
                     prototype = list(CustomerID = 0,Name = "",OderHistory = data.frame()))

Order <- setClass(Class = "Order",slots = c(CustomerID = "numeric", Description = "character",
                                               Cost = "numeric"), 
                     prototype = list(CustomerID = 0,Description = "",Cost = 0))


# constructor

Customer <- function(CustomerID, Name, OrderHistory=data.frame()){
  #drop sanity checks
  new("Customer",CustomerID = CustomerID, Name = Name, OrderHistory = …
Run Code Online (Sandbox Code Playgroud)

r s4

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

是否可以在 sphinx.ext.napoleon 中提供参数列表?

我正在使用 sphinx autodoc 扩展和 sphinx.ext.napoleon。我正在遵循 numpydoc 风格指南,因为我认为它比谷歌的更具可读性。但是,我注意到以下我无法解决的问题。

我有以下问题。是否可以允许在参数部分(或返回等)中有一个列表?我想要一些类似的东西:

更新根据 Steve Piercy 的回答,我已经删除了一些初始问题。这是python文件:

class Test:

def f(param_1, param_2):

    r"""
    This is a test docstring.

    Parameters
    ----------
    param_1 : pandas data frame
        This would be really cool to allow the following list and make
        it more readable:

        * **index:** Array-like, integer valued representing
          days. Has to be sorted and increasing.
        * **dtype:** float64. Value of temperature.
        * **columns:** location description, e.g. 'San Diego'
    param_2 : int
        nice number!
    """
    pass
Run Code Online (Sandbox Code Playgroud)

不幸的是,这仍然会导致“This …

python-sphinx numpydoc sphinx-napoleon

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

如何序列化numpy数组?

我是django-rest-framework的新手,所以对不起,如果我的问题太简单或没有太大意义,我感到抱歉。

我已经编写了一个科学的python程序包,并希望通过API使其可用。为此,我正在使用django rest框架。

从高级的角度来看,要使包中的一个特定功能可用,我必须调整两个文件。在序列化器文件中,我定义了某些验证,该验证将传入的请求转换为python本机类​​型,并定义了输入参数的验证。在视图文件中,我将调用验证并在调用包内部函数之前进行一些转换。

假设我要通过API公开的函数如下所示:

In [6]: def f(a):
   ...:    return np.mean(a)
   ...: 
Run Code Online (Sandbox Code Playgroud)

现在,API将通过json文件接收输入。我的第一个问题是如何为以上功能定义串行器?ListField是正确的选择吗?

class fSerializer(serializers.Serializer):
    nparray = serializers.ListField(
        source="a",
        child=serializers.DecimalField(max_digits=12, decimal_places=2)
    )
Run Code Online (Sandbox Code Playgroud)

还是还有其他更适合的领域?

视图文件将如下所示:

 class fViewSet(viewsets.ViewSet):

    def create(self, request):
        serializer = fSerializer(data=request.data)
        if serializer.is_valid():
            try:
                a = np.asarray(serializer.validated_data.get("a"))
                json_return = json.dumps(f(a))
                return HttpResponse(json_return,
                                    content_type='application/json')
Run Code Online (Sandbox Code Playgroud)

如您所见,我首先将经过验证的数据转换为numpy arary。但这是正确的(pythonic)方法吗?应该在串行器中完成吗?

如果有人通过API公开了有关此类功能的教程,那么不胜感激。

python numpy django-rest-framework

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

在org-mode中归档完成任务时,它们是否仍然有助于整体完成百分比?

我刚开始使用org-mode而且我非常喜欢它.我遇到过这个问题,如何以更自动化的方式存档已完成的任务.我现在的问题是:一旦完成的任务转移到另一个存档文件,它们是否仍然有助于完成%?有没有办法让他们仍然对整体状况做出贡献?否则,由于没有任何完成任务,完成状态将始终为0.

org-mode

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

模块化如何在c ++中运行

目前,我正在学习c ++和关于模块化过程的问题.假设我想编写一个函数来添加两个或三个数字.为此我写了以下头文件:

// Sum2.hpp
//
// Preprocessor directives; ensures that we do not include a file twice
// (gives compiler error if you do so)
#ifndef Sum2_HPP
#define Sum2_HPP
/////////// Useful functions //////////////////
// Max and Min of two numbers
double Sum2(double x, double y);
// Max and Min of three numbers
double Sum2(double x, double y, double z);
////////////////////////////////////////////////
#endif
Run Code Online (Sandbox Code Playgroud)

这只是声明.在单独的文件中,我指定了函数:

// Sum2.cpp
// Code file containing bodies of functions
//
#include "Sum2.hpp"
/////////// Useful functions //////////////////
// Sum …
Run Code Online (Sandbox Code Playgroud)

c++

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

在 C++ 中向空向量添加元素:为什么 push.back 有效而 [] 无效

几年前,我在大学开设了 C++ 入门课程。不过,我主要使用函数式语言,例如 R 或 Matlab。现在我又开始学习c++了。我正在阅读有关向量的内容并运行以下内容:

    #include <iostream>
    #include <string>
    #include <algorithm>
    #include <vector>

    int main()
    {      
      std::vector<int> test1;
  std::vector<int> test2(2);

  // works perfectly as expected:
  test2[0] = 1;
  test2[1] = 2;
  // this would give an error
  //test1[0] = 1;

  //instead I have to write
  test1.push_back(1);

      return 0;
    } 
Run Code Online (Sandbox Code Playgroud)

如果我对 test1 使用默认初始化,为什么我必须使用 puch_back?使用 [] 运算符并自动插入元素不是更“聪明”吗?为什么c++中禁止这样做?

c++ vector

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

cassandra的安装无法满足未满足的依赖性

我试着安装cassandra appache.我正在按照debianpackaging wiki中的步骤进行操作.我已将这两行添加到我的sources.list中:

ola@station:~$ cat /etc/apt/sources.list | grep "apache"
deb http://www.apache.org/dist/cassandra/debian 30x main
deb-src http://www.apache.org/dist/cassandra/debian 30x main
ola@station:~$ 
Run Code Online (Sandbox Code Playgroud)

我的java版本看起来也很好:

olas@station:~$ java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
olas@station:~$ 
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试安装它时,我收到以下错误消息:

olas@station:~$ sudo apt-get install cassandra
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if …
Run Code Online (Sandbox Code Playgroud)

debian cassandra

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

在R中打印字符串和函数参数

我有两个关于R的问题.很简单,但遗憾的是我在网上找不到任何东西.

  1. 是否可以在R中编写一个函数,fun1<-function(place)这样参数"place"就是我要在我的情况下导入的文件名,即

    fun1 <- function(place)
    data <- read.table(/home/place.csv, header=TRUE, sep=",")
    
    Run Code Online (Sandbox Code Playgroud)
  2. 假设变量c被分配给一个数字,例如一个人的年龄.然后我想打印出这样的字符串:"hello my age is c".你是怎么用R做的?

r

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

两个元素的总和在向量中

我想对示例数据执行以下简单计算

a<-seq(1:10)
Run Code Online (Sandbox Code Playgroud)

现在,是否有一个内置函数,它返回一个向量:(a[1]+a[2],a[3]+a[4],...,a[9]+a[10]).注意我可以使用for循环或使用rollapply(并删除一些元素)来实现它.但是,我想知道到目前为止我还不知道是否有内置函数.

r

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

\r 在 sphinx 中代表什么吗?

我正在按照 numpy 文档字符串指南编写文档字符串。然后我使用 sphinx 的 autodoc 生成我的文档。在一些文档字符串中,我使用 LaTeX 公式(sphinx.ext.mathjax)。似乎这\r意味着一些特殊的事情,比如一条新线。如果我有以下命令:

"""
This :math:`\langle a, b\rangle` denotes the dot product of a and b
"""
Run Code Online (Sandbox Code Playgroud)

它无法正确渲染。它将类似角度放入新行并给我一个错误:内联解释文本或短语引用起始字符串没有结束字符串 如果我用 \langle 替换 \rangle 一切正常。我怎样才能解决这个问题?

python docstring mathjax python-sphinx numpydoc

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

使用 virtualenvwrapper 为每个 virtualenv 设置 python 版本

使用 virtualenv 我可以通过 th 选项将 python 版本设置为特定的虚拟环境-p。这意味着对于不同的环境我可以设置不同的 python 版本。virtualenvwrapper 是否有类似的可能性?请注意,我不想设置在所有虚拟环境中使用的系统范围版本。我希望能够灵活地在虚拟环境级别设置 python 版本。

python virtualenv virtualenvwrapper

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

搞乱多个版本的 pip 来安装 numpy

我的 python 版本和/或 pip 版本有点混乱。结果我在安装 numpy 时遇到了麻烦。我使用以下默认的python版本

>>> print(sys.version)
3.5.3 (default, Jan 19 2017, 14:11:04) 
[GCC 6.3.0 20170118]
>>> 
Run Code Online (Sandbox Code Playgroud)

我安装了几个 python / pip 版本:

ola@think:~$ /usr/bin/python
python             python2.6          python2.7-config   python3            python3.5-config   python3.5m-config  python3m           python-config      pythontex3         
python2            python2.7          python2-config     python3.5          python3.5m         python3-config     python3m-config    pythontex          
ola@station:~$ 
Run Code Online (Sandbox Code Playgroud)

如果我想导入 numpy 我会得到以下内容:

>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'numpy'
Run Code Online (Sandbox Code Playgroud)

但是,运行 pip3.5 安装显示:

ola@station:~$ sudo pip3.5 install numpy
Requirement already satisfied: numpy in /usr/local/lib/python2.7/dist-packages …
Run Code Online (Sandbox Code Playgroud)

python pip

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

如何为较新的python版本安装numpy

我正在运行python 3.5.2并想运行

>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'numpy'
Run Code Online (Sandbox Code Playgroud)

但是,如果我登记终端

ola@station:~$ pip install numpy
Requirement already satisfied: numpy in /usr/lib/python2.7/dist-packages
ola@station:~$ 
Run Code Online (Sandbox Code Playgroud)

为什么我有这么多不同的点子?

ola@station:~$ pip
pip     pip2    pip2.7  pip3    pip3.4  pip3.5  pip3.6  
Run Code Online (Sandbox Code Playgroud)

当我尝试使用pip3.4时,我得到了

ola@station:~$ pip3.5 install numpy
Traceback (most recent call last):
  File "/usr/local/bin/pip3.5", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2991, in <module>
    @_call_aside
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2977, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", …
Run Code Online (Sandbox Code Playgroud)

python numpy

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