我有一个数据框,如:
a1 = c(1, 2, 3, 4, 5)
a2 = c(6, 7, 8, 9, 10)
a3 = c(11, 12, 13, 14, 15)
aframe = data.frame(a1, a2, a3)
Run Code Online (Sandbox Code Playgroud)
我尝试以下将其中一列转换为向量,但它不起作用:
avector <- as.vector(aframe['a2'])
class(avector)
[1] "data.frame"
Run Code Online (Sandbox Code Playgroud)
这是我能提出的唯一解决方案,但我认为必须有更好的方法来做到这一点:
class(aframe['a2'])
[1] "data.frame"
avector = c()
for(atmp in aframe['a2']) { avector <- atmp }
class(avector)
[1] "numeric"
Run Code Online (Sandbox Code Playgroud)
注意:我的上述词汇可能已关闭,如果是,请纠正我.我还在学习R的世界.另外,对这里发生的事情的任何解释都是值得赞赏的(即与Python或其他语言相关的内容会有所帮助!)
在最近几天的某个时刻,Matplotlib在OS X上停止为我工作.这是我在尝试时遇到的错误import matplotlib:
Traceback (most recent call last):
File "/my/path/to/script/my_script.py", line 15, in <module>
import matplotlib.pyplot as plt
File "/Library/Python/2.7/site-packages/matplotlib/pyplot.py", line 34, in <module>
from matplotlib.figure import Figure, figaspect
File "/Library/Python/2.7/site-packages/matplotlib/figure.py", line 40, in <module>
from matplotlib.axes import Axes, SubplotBase, subplot_class_factory
File "/Library/Python/2.7/site-packages/matplotlib/axes/__init__.py", line 4, in <module>
from ._subplots import *
File "/Library/Python/2.7/site-packages/matplotlib/axes/_subplots.py", line 10, in <module>
from matplotlib.axes._axes import Axes
File "/Library/Python/2.7/site-packages/matplotlib/axes/_axes.py", line 22, in <module>
import matplotlib.dates as _ # <-registers a date unit converter
File …Run Code Online (Sandbox Code Playgroud) 鉴于我的变量是一个指针,如果我将它分配给"auto"类型的变量,我是否指定"*"?
std::vector<MyClass> *getVector(); //returns populated vector
//...
std::vector<MyClass> *myvector = getVector(); //assume has n items in it
auto newvar1 = myvector;
// vs:
auto *newvar2 = myvector;
//goal is to behave like this assignment:
std::vector<MyClass> *newvar3 = getVector();
Run Code Online (Sandbox Code Playgroud)
我对autoc ++ 11的工作方式有点困惑(这是c ++ 11的新功能,对吧?)
更新:我修改了上面的内容,以更好地阐明我的向量是如何在函数中填充的,我只是尝试将返回的指针赋给变量.对困惑感到抱歉
我正在使用Docker容器进行Django开发,容器使用Nginx运行Gunicorn.我希望代码更改为自动加载,但我可以加载它们的唯一方法是使用docker-compose(docker-compose build)重建."build"的问题在于它会重新运行我的所有pip安装.
我正在使用Gunicorn --reload旗帜,这显然应该做我想要的.这是我的Docker配置文件:
## Dockerfile:
FROM python:3.4.3
RUN mkdir /code
WORKDIR /code
ADD . /code/
RUN pip install -r /code/requirements/docker.txt
## docker-compose.yml:
web:
restart: always
build: .
expose:
- "8000"
links:
- postgres:postgres
volumes:
- /usr/src/app/static
env_file: .env
command: /usr/local/bin/gunicorn myapp.wsgi:application -w 2 -b :8000 --reload
nginx:
restart: always
build: ./config/nginx
ports:
- "80:80"
volumes:
- /www/static
volumes_from:
- web
links:
- web:web
postgres:
restart: always
image: postgres:latest
volumes:
- /var/lib/postgresql
ports:
- "5432:5432"
Run Code Online (Sandbox Code Playgroud)
我已经尝试了其他一些Docker命令(docker-compose …
我想argparse在Python 2.7 上使用我的脚本参数之一要求介于0.0和1.0之间.是否argparse.add_argument()支持呢?
我正在尝试包含一个带有Hadoop流式传输作业的python包(NLTK),但我不知道如何在不通过CLI参数"-file"手动包含每个文件的情况下执行此操作.
编辑:一种解决方案是在所有从站上安装此程序包,但我目前没有该选项.
我希望能够使用Option-left和Option-right来跳过Vim中的单词(以及Cmd-left/right以转到行的开头和结尾),就像在shell提示符下一样.我Iterm2喜好有映射做到这一点(例如Option-left到Esc-H和一个用于option-right对Esc-F超过的话跳过),这在当地工作的壳或者SSH方式登录到远程服务器.
当我在本地或远程使用Vim时,option-left可以工作,但option-right不能.我怀疑这是因为Vim自然而然地听Esc-H,但不是Esc-F.我可以通过将.vimrc文件修改为Esc-bto b和Esc-fto 来解决这个问题f,但我不想对我连接的每个服务器执行此操作.
同样,我对Cmd-left/right有相同的所需设置,可以进入一行的开头和结尾.我可以通过Iterm2映射(例如Cmd-leftto Esc-[h)在shell中工作,但是除非我再次映射键(例如Esc-[hto ^),否则Vim根本不响应.
更新:我刚想出如何让左/右选项正常工作.我在iTerm2改变映射这些是escape-[1;5D和escape-[1;5C分别.我仍然想解决Cmd-左/右问题(我改变了我的问题标题以反映这一点).有任何想法吗?
我正在尝试运行Hadoopy,它有一个文件_main.pyx,并且import _main在__init__.py中找不到模块失败.
我试图在OS X w /标准python 2.7上运行它.
我希望能够source()在同一目录中包含不同文件的文件,但我不想在运行此文件之前从R-prompt设置工作目录:
> getwd()
[1] "/Users/myser"
> source("/Users/myuser/workspace/myproject/myfile.r")
Run Code Online (Sandbox Code Playgroud)
在/ Users/myuser/workspace/myproject里面,会有myfile.r和my-utils.r.myfile.r source('my-utils.r')从中调用.
其他编程语言可以确定当前文件的路径.R有类似的东西吗?例:
cur_dir <- sys.get_current_file_path()
source(file.path(cur_dir, "my-utils.r"))
Run Code Online (Sandbox Code Playgroud) 我收到以下权限错误,并且不确定为什么hadoop正在尝试写入此特定文件夹:
hadoop jar /usr/lib/hadoop/hadoop-*-examples.jar pi 2 100000
Number of Maps = 2
Samples per Map = 100000
Wrote input for Map #0
Wrote input for Map #1
Starting Job
org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=myuser, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
Run Code Online (Sandbox Code Playgroud)
知道为什么它试图写入我的hdfs的根目录吗?
更新:暂时将hdfs root(/)设置为777权限后,我看到正在写入"/ tmp"文件夹.我想一个选项就是创建一个具有开放权限的"/ tmp"文件夹,供所有人写入,但如果将其写入用户文件夹(即/ user/myuser/tmp),从安全角度来看会很好.