我有一个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舍入操作期间应考虑的最后一位有效数字 ( ),对吧?