我想在pandas表中插入一个链接(到一个网页),所以当它在ipython笔记本中显示时,我可以按链接.
我尝试了以下方法:
In [1]: import pandas as pd
In [2]: df = pd.DataFrame(range(5), columns=['a'])
In [3]: df['b'] = df['a'].apply(lambda x: 'http://example.com/{0}'.format(x))
In [4]: df
Out[4]:
   a                     b
0  0  http://example.com/0
1  1  http://example.com/1
2  2  http://example.com/2
3  3  http://example.com/3
4  4  http://example.com/4
但是网址只显示为文字.
我也尝试过使用ipython HTML对象:
In [5]: from IPython.display import HTML
In [6]: df['b'] = df['a'].apply(lambda x:HTML('http://example.com/{0}'.format(x)))
In [7]: df
Out[7]:
   a                                                 b
0  0  <IPython.core.display.HTML object at 0x0481E530>
1  1  <IPython.core.display.HTML object at 0x0481E770>
2  2  <IPython.core.display.HTML object at …我试图了解scala如何处理元组的排序和排序
例如,如果我得到了列表
val l = for {i <- 1 to 5} yield (-i,i*2)
Vector((-1,2), (-2,4), (-3,6), (-4,8), (-5,10))
scala知道如何排序:
l.sorted
Vector((-5,10), (-4,8), (-3,6), (-2,4), (-1,2))
但是元组没有'<'方法:
l.sortWith(_ < _)
error: value < is not a member of (Int, Int)
l.sortWith(_ < _)
scala如何知道如何对这些元组进行排序?
我的服务器运行许多长时间运行的笔记本电脑,我想监控笔记本电脑的内存.
有没有办法在pid或进程名称和笔记本之间进行匹配?
在Saltstack中,我有以下用例:
有一个状态redis.sls可以包含在其他州.redis.sls的结果应该以不同的方式配置,具体取决于包含redis.sls的状态.
例如:
redis.sls:
--------
{% if x==1 %}
   #do something
{% else %}
   #do something else
{% endif %}
state_a.sls
-----------
{% set x=1 %}
include:
  - redis
state_b.sls
-----------
{% set x=2 %}
include:
  - redis
但*在*state_a*和*state_b*中无法识别x
我也尝试用这样的东西设置支柱值:
{{salt['pillar.set']('x', 1)}}
但那也不起作用.
还有其他想法吗?
我想在正在运行的任务中获取任务ID,而不知道我在哪个任务.(这就是为什么我不能使用/sf/answers/566726051/)
我希望它是这样的:
@task
def my_task():
    foo()
def foo():
    logger.log(current_task_id)
这种模式在许多不同的任务中返回,我不想将任务上下文带到每个内部方法调用.
一个选项可能是使用线程本地存储,但是我需要在任务启动之前初始化它,并在完成后清理它.
有什么比这更简单的了吗?
我需要一个可以分成Iterator[Char]行的方法(用\n和分隔\r)
为此,我编写了一个获取迭代器和谓词的通用方法,并在每次谓词为真时拆分迭代器.这类似于span,但每次谓词为真时都会拆分,而不仅仅是第一次
这是我的实施:
def iterativeSplit[T](iterO: Iterator[T])(breakOn: T => Boolean): Iterator[List[T]] = 
 new Iterator[List[T]] {
  private var iter = iterO
  def hasNext = iter.hasNext
  def next = {
    val (i1,i2) = iter.span(el => !breakOn(el))
    val cur = i1.toList
    iter = i2.dropWhile(breakOn)
    cur
  }
}.withFilter(l => l.nonEmpty)
并且它适用于小输入,但在大输入时,这运行非常慢,有时我会得到堆栈溢出异常
这是重新创建问题的代码:
val iter = ("aaaaaaaaabbbbbbbbbbbccccccccccccc\r\n" * 10000).iterator
iterativeSplit(iter)(c => c == '\r' || c == '\n').length
运行期间的堆栈跟踪是:
... 
at scala.collection.Iterator$$anon$1.hasNext(Iterator.scala:847)
at scala.collection.Iterator$$anon$19.hasNext(Iterator.scala:615)
at scala.collection.Iterator$$anon$1.hasNext(Iterator.scala:847)
at scala.collection.Iterator$$anon$18.hasNext(Iterator.scala:591) …我在一个安全的环境中工作,不允许开发人员从 GitHub 或任何其他外部存储库进行 git-clone。
我能够从 GitHub 下载 g8 模板 (play-scala-seed) 作为 zip 文件,并将其解压缩到本地文件夹。我可以使用该本地目录而不是 git repo 吗?
我第一次尝试失败:
> dir .\play-scala-seed
 Volume in drive C is OSDisk
 Volume Serial Number is A074-A016
 Directory of C:\workspace\play-scala-seed
03/22/2018  11:03 AM    <DIR>          .
03/22/2018  11:03 AM    <DIR>          ..
03/22/2018  11:01 AM    <DIR>          project
03/22/2018  10:57 AM    <DIR>          src
03/22/2018  11:03 AM    <DIR>          target
03/22/2018  10:57 AM                70 .gitignore
03/22/2018  10:57 AM               509 .travis.yml
03/22/2018  10:57 AM               453 build.sbt
03/22/2018  10:57 AM               439 LICENSE
03/22/2018 …我在VS2008中有一个ac #project,它有很多代码行,如下所示:
string s = "bla blab" + x + "bla bla bla" + y + .... ;
我想使用string.Format(...)将这些字符串转换为单个字符串.
我目前正在使用Resharper 5.0,我只需点击一下即可重构一行代码.问题是我有更多这样的1000行,我不想手动遍历每一行.
有没有办法自动执行此操作?
编辑:正如Marc纠正我,我真的不需要这样做,但我有另一个非常类似的问题:我得到了这个代码
 string s = "aaaaaaaaaaaaaaaaaaaaaaaa" +
                   "aaaaaaaaaaaaaaaaaaaaaaaa" +
                   "aaaaaaaaaaaaaaaaaaaaaaaa" +
                   "aaaaaaaaaaaaaaaaaaaaaaaa" +
                   "aaaaaaaaaaaaaaaaaaaaaaaa" +
                   "aaaaaaaaaaaaaaaaaaaaaaaa" +
                   "aaaaaaaaaaaaaaaaaaaaaaaa";
(该字符串是一些SQL查询)
我想将它重构为一个const字符串:
string s = "aaaaaaaaaaaaaaaaaa....aaaaa";
(这次,效率更高吧?)
resharper可以每个字符串自动执行此操作,但同样,我想多次执行此操作.
保持线条缩进会很棒:
string s = @"aaaaaaaaaaaaaaaaaaaaaaaa
                    aaaaaaaaaaaaaaaaaaaaaaaa
                    aaaaaaaaaaaaaaaaaaaaaaaa
                    aaaaaaaaaaaaaaaaaaaaaaaa
                    aaaaaaaaaaaaaaaaaaaaaaaa
                    aaaaaaaaaaaaaaaaaaaaaaaa
                    aaaaaaaaaaaaaaaaaaaaaaaa";
但只有一条长线也可以.
谢谢,列夫.
sbt 允许我们在根项目级别运行 sbt 命令。
如何在元构建级别运行命令?(在root/project/project目录中定义)
我的用例是我的一些 sbt 插件具有相同依赖项的不同版本,并且旧的依赖项被逐出。我想使用 sbt-dependency-graph 进行调查
我正在尝试发送~400个HTTP GET请求并收集结果.我是从django跑来的.我的解决方案是使用芹菜与gevent.
要启动芹菜任务,我调用get_reports:
def get_reports(self, clients, *args, **kw):
    sub_tasks = []
    for client in clients:  
            s = self.get_report_task.s(self, client, *args, **kw).set(queue='io_bound')
        sub_tasks.append(s)
    res = celery.group(*sub_tasks)()
    reports = res.get(timeout=30, interval=0.001)
    return reports
@celery.task
def get_report_task(self, client, *args, **kw):
    report = send_http_request(...)
    return report
我用4个工人:
manage celery worker -P gevent --concurrency=100 -n a0 -Q io_bound
manage celery worker -P gevent --concurrency=100 -n a1 -Q io_bound
manage celery worker -P gevent --concurrency=100 -n a2 -Q io_bound
manage celery worker -P gevent …我有一个元组的向量
val l = for {i <- 1 to 5} yield (i,i*2)
Vector((1,2), (2,4), (3,6), (4,8), (5,10))
我想用以下方式总结一下:
l.reduce((x,y) => (x._1+y._1, x._2+y._2))
(15,30)
但是使用模式匹配.
如果函数只获得一个参数,我知道如何做到这一点,即:l.map({case(a,b)=>a+b})但是我无法使用两个参数.这是我试图做的:
l.reduce({(case(a,b),case(c,d))=>(a+c,b+d)})
但那不行.
所以我的问题是,如何解包作为函数参数出现的2个元组?
我想嘲笑一个特质的val.例如,在这段代码中,要模拟val baz:
trait Foo {
  def bar(): Int
  val baz: Int
}
val fooMock = mock[Foo]
(fooMock.bar _).expects().returning(5)
(fooMock.baz _).expects().returning(6) //doesn't compile
doSomeThing(fooMock)
为了在我的测试中解决这个问题,我扩展了Foo,并baz以下列方式实现:
trait FooTest extends Foo {
  override val baz: Int = 5
}
val fooMock = mock[FooTest]
(fooMock.bar _).expects().returning(6)
doSomeThing(fooMock)
但这很难看,而且我希望scala mock有更标准的方法.
我已经看到了这个问题的答案的问题,但它需要改变val,以def在他们的特性,我想保持baz一个VAL
scala ×5
python ×3
celery ×2
sbt ×2
c# ×1
celery-task ×1
django ×1
giter8 ×1
ipython ×1
iterator ×1
mocking ×1
pandas ×1
performance ×1
rabbitmq ×1
salt-stack ×1
sbt-plugin ×1
scalamock ×1
string ×1
unit-testing ×1