我有一个DataFrame,在一些分组后创建了一个MultiIndex:
import numpy as np
import pandas as p
from numpy.random import randn
df = p.DataFrame({
    'A' : ['a1', 'a1', 'a2', 'a3']
  , 'B' : ['b1', 'b2', 'b3', 'b4']
  , 'Vals' : randn(4)
}).groupby(['A', 'B']).sum()
df
Output>            Vals
Output> A  B           
Output> a1 b1 -1.632460
Output>    b2  0.596027
Output> a2 b3 -0.619130
Output> a3 b4 -0.002009
Run Code Online (Sandbox Code Playgroud)
如何将一个级别添加到MultiIndex,以便将其转换为:
Output>                       Vals
Output> FirstLevel A  B           
Output> Foo        a1 b1 -1.632460
Output>               b2  0.596027
Output>            a2 b3 -0.619130
Output>            a3 b4 -0.002009
Run Code Online (Sandbox Code Playgroud) 我可以使用什么来在字段级别区分两个CSV文件,突出显示已更改的确切字段?假设简单的CSV格式,其中逗号仅显示为字段分隔符,而不是其他地方.
我正在尝试在Ubuntu 16.04上使用sbt,但在尝试运行时遇到错误.我做了一个全新的安装,然后完全按照sbt网站的指示,但是当我这样做时得到以下内容sbt:
Getting org.scala-sbt sbt 0.13.12 ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/main/0.13.12/jars/main.jar ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/compiler-interface/0.13.12/jars/compiler-interface.jar ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/actions/0.13.12/jars/actions.jar ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/main-settings/0.13.12/jars/main-settings.jar ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/io/0.13.12/jars/io.jar ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/ivy/0.13.12/jars/ivy.jar ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/command/0.13.12/jars/command.jar ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/completion/0.13.12/jars/completion.jar ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/api/0.13.12/jars/api.jar ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/collections/0.13.12/jars/collections.jar ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/incremental-compiler/0.13.12/jars/incremental-compiler.jar ...
downloading https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/compile/0.13.12/jars/compile.jar ...
:: problems summary ::
:::: WARNINGS
        [FAILED     ] org.scala-sbt#main;0.13.12!main.jar: sun.security.validator.ValidatorException: No trusted certificate found (1180ms)
        [FAILED     ] org.scala-sbt#main;0.13.12!main.jar:  (0ms)
    ==== local: tried
      /home/james/.ivy2/local/org.scala-sbt/main/0.13.12/jars/main.jar
    ==== Maven Central: tried
      https://repo1.maven.org/maven2/org/scala-sbt/main/0.13.12/main-0.13.12.jar
    ==== typesafe-ivy-releases: tried
      https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/main/0.13.12/jars/main.jar
    ==== …Run Code Online (Sandbox Code Playgroud) 我有一个TextBox位于FlowLayoutPanela 的单元格内的TableLayoutPanel。跨越FlowLayoutPanel5 列TableLayoutPanel并填满 5 列的整个宽度。但是, 并TextBox没有填满 的整个宽度FlowLayoutPanel,正如您在此处看到的那样(黑色边框是FlowLayoutPanel):

我怎样才能让TextBox横跨整个宽度FlowLayoutPanel?
生成此示例的代码:
// fsi --exec Test.fsx
open System
open System.Windows.Forms
let frmMain () =
  let f = new Form(Text = "Test table layout panel")
  let tlp =
    new TableLayoutPanel
      ( ColumnCount = 5,
        RowCount = 1,
        AutoSize = true,
        Parent = f )
  let flp =
    new FlowLayoutPanel
      ( AutoSize = true,
        BorderStyle …Run Code Online (Sandbox Code Playgroud) 是否有任何资源显示如何创建自定义GnuCash报告?我不知道Scheme的复杂性,但我知道Lisp的基础知识,基于对Emacs的修补.是否有一个网站列出了GnuCash报告的API,理想情况下还有一些Scheme的解释?
我有以下代码:
module Test : sig
  type +'a t
  val make : int -> [< `a | `b] t
end = struct
  type 'a t = Foo of int | Bar of string
  let make = function
    | 0 -> (Foo 0 : [`a] t)
    | _ -> (Bar "hi" : [`a] t)
end
Run Code Online (Sandbox Code Playgroud)
您可能会注意到,抽象类型'a t在其类型参数中被声明为协变'a,并且make构造函数被声明为返回多态变体case 或的子类型.ab
在我的实现中make,返回子类型[a] t仍应遵循协方差规则,因为子类型在返回类型位置.
但是,我收到以下错误:
Error: Signature mismatch:
       ...
       Values do not …Run Code Online (Sandbox Code Playgroud) 我刚刚编写了一个函数,最终得到了嵌套代码块,如下所示:
class ... {
  void Method() {
    while (...) {
      ...
      switch (...) {
        while (...) {
          switch (...) {
            if (...) {
            }
          }
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)
您是否发现这是日常编码工作的标准,或者当您看到类似的内容时,您是否会快速尝试重新设计和分解代码?
我有一个简单的F#类型如下:
(* Num.fsi *)
namespace FsLib
module Num =
  [<NoEquality>]
  type t
  val of_int : int -> t
  val to_int : t -> int
Run Code Online (Sandbox Code Playgroud)
正如您可能想象的那样,实现是微不足道的,它只是一个具有底层证据的单一案例歧视联盟int.现在在同一解决方案的C#项目中,我有以下代码:
// CsTool.cs
using System;
using FsLib;
namespace CsTool {
  class MainClass {
    public static void Main(string[] args) {
      Num.t n1 = Num.of_int(1);
      Num.t n2 = Num.of_int(1);
      Console.WriteLine(n1.Equals(n2));
    }
  }
}
Run Code Online (Sandbox Code Playgroud)
问题是,这是打印False而不是无法编译或抛出运行时错误.知道为什么这个C#调用代码忽略了[<NoEquality>]属性?
顺便说一下,我在Mac上的Xamarin Studio社区中运行此版本,版本6.1.2,目标是.NET Framework 4.5.1版.
我有一些代码可以在当前目录中找到最近修改过的某种类型的文件(见下文).我的问题是:是否有更简洁,也许更惯用的Racket,表达此代码的方式?这个想法很简单:在目录中获取某种类型的所有文件,然后只选择最近修改过的文件.我尝试了一种cwd-paths-of-type使用的变体for*/list,它似乎不太可读.我觉得我错过了什么.任何人都可以开导我吗?
#lang racket
(define FILETYPE ".pdf")
(define (cwd-paths-of-type filetype)
  (filter
    (lambda (p)
      (define filename (path->string p))
      (and
        (>= (string-length filename) 4)
        (string=?
          (substring filename (- (string-length filename) 4))
          filetype)))
    (directory-list)))
(define (last-mod-path paths)
  (define last-mod-time
    (apply
      max
      (map file-or-directory-modify-seconds paths)))
  (first
    (filter
      (lambda (p)
        (equal?
          (file-or-directory-modify-seconds p)
          last-mod-time))
      paths)))
(displayln
  (last-mod-path (cwd-paths-of-type FILETYPE)))
Run Code Online (Sandbox Code Playgroud) 我正在使用visual studio 2013开发一个Windows手机应用程序,但我有以下问题.我已经安装了nuget包管理器,但是当我右键单击de References目录时,我没有看到nuget包管理器.


可能是什么问题?谢谢
根据Swift标准库参考,使用下标运算符的Swift字典查找返回包含在中的可能值Optional.我可以通过模式匹配来验证这一点:
let d = [ "a": 1, "b": 2]
switch d["a"] {
    case .Some(let x): print(x)
    case .None: print("Nothing")
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在查找值上使用Optional类型的map方法时:
d["a"].map { print($0 * 2) }
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
24:1: error: '(String, Int)' does not have a member named 'map'
d["a"].map { print($1 * 2) }
^ ~~~
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?
我为一个接受字符串并返回其长度的函数编写了一个简单的代码:
let fun x = String.length x;;
Run Code Online (Sandbox Code Playgroud)
但它显示语法错误。为什么?如果我只是写String.length x;;它很好但是我的函数声明有什么问题?
如何将字符串变量作为参数传递给 OCaml 中的函数?
使用Java:
$ jshell
|  Welcome to JShell -- Version 17.0.3
|  For an introduction type: /help intro
Run Code Online (Sandbox Code Playgroud)
使用“半偶数”舍入方法,3084.5 舍入为 3084:
jshell> new java.math.BigDecimal("3084.5").setScale(0, java.math.RoundingMode.HALF_EVEN)
$13 ==> 3084
Run Code Online (Sandbox Code Playgroud)
但 3084.51 四舍五入为 3085:
jshell> new java.math.BigDecimal("3084.51").setScale(0, java.math.RoundingMode.HALF_EVEN)
$13 ==> 3085
Run Code Online (Sandbox Code Playgroud)
为什么数字会1影响舍入?它超出了5舍入操作期间应考虑的最后一位有效数字 ( ),对吧?