我在 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) 我正在使用 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 …
我是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公开了有关此类功能的教程,那么不胜感激。
我刚开始使用org-mode而且我非常喜欢它.我遇到过这个问题,如何以更自动化的方式存档已完成的任务.我现在的问题是:一旦完成的任务转移到另一个存档文件,它们是否仍然有助于完成%?有没有办法让他们仍然对整体状况做出贡献?否则,由于没有任何完成任务,完成状态将始终为0.
目前,我正在学习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++ 入门课程。不过,我主要使用函数式语言,例如 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++中禁止这样做?
我试着安装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) 我有两个关于R的问题.很简单,但遗憾的是我在网上找不到任何东西.
是否可以在R中编写一个函数,fun1<-function(place)这样参数"place"就是我要在我的情况下导入的文件名,即
fun1 <- function(place)
data <- read.table(/home/place.csv, header=TRUE, sep=",")
Run Code Online (Sandbox Code Playgroud)假设变量c被分配给一个数字,例如一个人的年龄.然后我想打印出这样的字符串:"hello my age is c".你是怎么用R做的?
我想对示例数据执行以下简单计算
a<-seq(1:10)
Run Code Online (Sandbox Code Playgroud)
现在,是否有一个内置函数,它返回一个向量:(a[1]+a[2],a[3]+a[4],...,a[9]+a[10]).注意我可以使用for循环或使用rollapply(并删除一些元素)来实现它.但是,我想知道到目前为止我还不知道是否有内置函数.
我正在按照 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 一切正常。我怎样才能解决这个问题?
使用 virtualenv 我可以通过 th 选项将 python 版本设置为特定的虚拟环境-p。这意味着对于不同的环境我可以设置不同的 python 版本。virtualenvwrapper 是否有类似的可能性?请注意,我不想设置在所有虚拟环境中使用的系统范围版本。我希望能够灵活地在虚拟环境级别设置 python 版本。
我的 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 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)