小编mun*_*unk的帖子

Pandas中加入和合并有什么区别?

假设我有两个这样的DataFrame:

left = pd.DataFrame({'key1': ['foo', 'bar'], 'lval': [1, 2]})

right = pd.DataFrame({'key2': ['foo', 'bar'], 'rval': [4, 5]})
Run Code Online (Sandbox Code Playgroud)

我想合并它们,所以我尝试这样的事情:

pd.merge(left, right, left_on='key1', right_on='key2')
Run Code Online (Sandbox Code Playgroud)

而且我很高兴

    key1    lval    key2    rval
0   foo     1       foo     4
1   bar     2       bar     5
Run Code Online (Sandbox Code Playgroud)

但是我正在尝试使用join方法,我一直认为它非常相似.

left.join(right, on=['key1', 'key2'])
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

//anaconda/lib/python2.7/site-packages/pandas/tools/merge.pyc in _validate_specification(self)
    406             if self.right_index:
    407                 if not ((len(self.left_on) == self.right.index.nlevels)):
--> 408                     raise AssertionError()
    409                 self.right_on = [None] * n
    410         elif self.right_on is not None:

AssertionError: 
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

python join dataframe pandas

171
推荐指数
7
解决办法
10万
查看次数

Spring:如何从POST主体获取参数?

使用spring的网络服务,我必须从我的帖子请求的主体中获取参数?身体的内容如下: -

source=”mysource”

&json=
{
    "items": [
        {
            "username": "test1",
            "allowed": true
        },
        {
            "username": "test2",
            "allowed": false
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

网络服务方法如下: -

@RequestMapping(value = "/saveData", headers="Content-Type=application/json", method = RequestMethod.POST)
    @ResponseBody
    public ResponseEntity<Boolean> saveData(@RequestBody String a) throws MyException {
        return new ResponseEntity<Boolean>(uiRequestProcessor.saveData(a),HttpStatus.OK);

    }
Run Code Online (Sandbox Code Playgroud)

请让我知道如何从身体获取参数?我可以把整个身体都放在我的绳子里,但我认为这不是一个有效的方法.请告诉我如何进一步处理.

java rest spring spring-mvc

17
推荐指数
4
解决办法
11万
查看次数

在绘图上绘制括号

如果我想在我的情节的某些部分绘制括号,我将如何进行:

括号上的情节

目前我正在使用powerpoint添加它们,但我想完全在python中完成它.

谢谢你的帮助

python matplotlib

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

Selenium Desired Capabilities - 为PhantomJS驱动程序设置handleAlerts

我正在尝试使用webdriver的phantomJS,我在处理javascript警报时遇到了麻烦.我注意到phantomjs驱动程序desired_capabilities有一个字段'handlesAlerts': False 有没有办法将此值设置为true?我尝试过显而易见的方法,但这没有任何影响:

drv = webdriver.PhantomJS(desired_capabilities={'handlesAlerts': True})

print drv.desired_capabilities

{u'browserName': u'phantomjs',
 u'driverName': u'ghostdriver',
 u'driverVersion': u'1.0.3',
 u'handlesAlerts': False,
 u'javascriptEnabled': True,...}
Run Code Online (Sandbox Code Playgroud)

我可以更改字典中的值drv.desired_capabilities['handlesAlerts'] = True,但是当我尝试切换到警报时,会收到错误消息.

$cat index.html 
<html>
<body>
<script type="text/javascript">
    alert('FOO!');
</script>
    Hello World.
</body>
</html>

>>> from selenium import webdriver
>>> driver = webdriver.PhantomJS()
>>> driver.desired_capabilities['handlesAlerts'] = True
>>> driver.get('index.html')
>>> alert = driver.switch_to_alert()
>>> alert.text

Traceback (most recent call last):
<snip>
selenium.common.exceptions.WebDriverException: Message: 
   'Invalid Command Method -  Request    => 
                 {"headers":{"Accept":"application/json",
                              "Accept- Encoding":"identity",
                              "Connection":"close",
                              "Content-Type":"application/json;charset=UTF- 8",
                              "Host":"127.0.0.1:56009", 
                              "User-Agent":"Python- …
Run Code Online (Sandbox Code Playgroud)

python selenium phantomjs

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

尾递归Fibonacci

如何在O(n)中没有运行循环的情况下实现递归Fibonacci函数?

python big-o fibonacci

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

Linux内核程序集和逻辑

我的问题有些奇怪,但我会尽力解释.

看看linux内核的语言,我得到了C和汇编,即使我读了一篇文章说[引用] Unix的第二次迭代完全用C语言编写[/ quote]

我认为这是误导性的,但当我说内核有汇编代码时,我得到了两个问题

  1. 内核中有哪些汇编文件,它们的用途是什么?
  2. 程序集依赖于体系结构,因此如何在多个CPU体系结构上安装linux

如果Linux内核真的完全用C语言编写,那么它是如何获得编译所需的GCC的呢?

我做了一个完整的find / -name *.s ,只是在/ usr/src/linux-headers- `uname -r/中的某处有一个汇编文件(asm-offset.s)

不知怎的,我不认为这有助于GCC的工作,那么linux如何在没有组装的情况下工作,或者如果它使用汇编它在哪里以及它如何在依赖于arch时稳定.

提前致谢

linux assembly kernel inline-assembly

9
推荐指数
2
解决办法
5966
查看次数

高可用性 - Crossover在这种情况下意味着什么?

我正在研究Mesos框架来运行一些工作,这似乎是学习制作高可用系统的好机会.为此,我正在阅读有关分布式系统的一些内容,我犯了访问维基百科的错误.

有关段落是关于HA工程的原则:

可靠的交叉.在多线程系统中,交叉点本身往往成为单点故障.高可用性工程必须提供可靠的交叉.

我的google-fu教给我三件事:

1)音频交叉设备将单个输入分成多个输出

2)遗传算法使用交叉来组合解决方案

3)buzzwordy白皮书全部复制自这个维基百科文章:/

我的问题: 在这种情况下,"交叉点"是什么意思,为什么它是单点故障?

multithreading high-availability

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

在同一台服务器上运行多个芹菜实例

我想在同一台机器上运行两个芹菜实例.一个是我的应用程序的'A'版本,另一个是'B'版本.

我有两个实例,我这样开始:

(env1)/home/me/firstapp$ celery -A app.tasks worker --config celeryconfig
(env2)/home/me/secondapp$ celery -A app.tasks worker -n Carrot --config celeryconfig
Run Code Online (Sandbox Code Playgroud)

在每个应用程序的tasks.py中,我创建一个像这样的芹菜实例:

 celery = Celery('tasks', backend='amqp', broker='amqp://guest@127.0.0..1.5672//')
 @celery.task
 def run_a_task():
     do_stuff()
Run Code Online (Sandbox Code Playgroud)

在env2的task.py中,如何指定我想使用secondapp(名为Carrot)中的第二个celery实例,而不是第一个来自firstapp的芹菜实例?我怀疑我需要在第一行的celery构造函数中更改一些内容,但我不知道要添加什么.

python celery

7
推荐指数
2
解决办法
6639
查看次数

Haskell包缺少c库

我在OS X Lion上构建hmatrix库时遇到了麻烦.查看.cabal文件,它需要gsl库,所以我用macports安装它..a文件位于/ opt/local/lib中,.h文件位于/ opt/local/include/gsl中

正如这里建议的那样, 我将内置类型从Custom更改为Simple.(没有那个改变我得到了类似的错误).

当我使用时,cabal configure我得到以下输出:

* Missing C library: gsl
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.
Run Code Online (Sandbox Code Playgroud)

所以我试过cabal --extra-include-dirs=/opt/local/include --extra-lib-dirs=/opt/local/lib configure,但我仍然得到同样的错误.我可以编译和链接包含gsl的ac程序.cabal寻找什么文件?如果我有正确的文件,我该如何告诉它如何找到它们?

libgsl.a是一个通用二进制文件:

$ file /opt/local/lib/libgsl.a
    /opt/local/lib/libgsl.a: …
Run Code Online (Sandbox Code Playgroud)

macos haskell cabal

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

将java.lang.String转换为Scala字符串

我的Scala程序中有一个String,我想把它作为Int转换.

def foo(): Int = x.getTheNumericString().toInt
Run Code Online (Sandbox Code Playgroud)

问题是x.getTheNumericString()来自Java库并返回一个java.lang.String没有toInt方法的.

我知道我可以创建一个Scala字符串 val s: String = "123",但是我注意到当我创建一个像val t = "456"我得到的字符串时java.lang.String. 我听说Scala String只是java.lang.String的包装器,但我还没有找到关于如何转换为Scala字符串的明确文档.

是否有一些我可以使用的功能:

def foo(): Int = f(x.getTheNumericString()).toInt
Run Code Online (Sandbox Code Playgroud)

就目前而言,我的编译器抱怨原始定义 value toInt is not a member of String

java string scala scala-java-interop

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