当我运行pip install matplotlib
(在virtualenv中)时,第一行输出是:
Downloading/unpacking matplotlib
Running setup.py egg_info for package matplotlib
basedirlist is: ['/usr/local/', '/usr', '/usr/X11', '/opt/local']
============================================================================
BUILDING MATPLOTLIB
matplotlib: 1.2.0
python: 2.7.3 (default, Dec 14 2012, 13:31:05) [GCC 4.2.1
(Apple Inc. build 5666) (dot 3)]
platform: darwin
REQUIRED DEPENDENCIES
numpy: 1.6.2
freetype2: found, but unknown version (no pkg-config)
OPTIONAL BACKEND DEPENDENCIES
libpng: found, but unknown version (no pkg-config)
Tkinter: Tkinter: 81008, Tk: 8.5, Tcl: 8.5
Gtk+: no
* Building for Gtk+ requires pygtk; you must be …
Run Code Online (Sandbox Code Playgroud) 如果我对SVG的理解是正确的,那么以下两个SVG描述将导致相同的图像,但它们不会.(注意:两个代码清单的区别仅在于其svg
标签中的坐标值.更具体地说,对于第一个清单中的每个(x,y)对,第二个清单中都有(x -205,y -55)对.)
<!DOCTYPE html>
<html>
<head><title>title</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
x="0" y="0" width="210" height="60" viewBox="0 0 210 60">
<g style="stroke: black; fill: none;">
<path d="M 5 5 Q 105 55 205 55"/>
</g>
</svg>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
<head><title>title</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
x="-205" y="-55" width="210" height="60" viewBox="-205 -55 5 5">
<g style="stroke: black; fill: none;">
<path d="M -200 -50 …
Run Code Online (Sandbox Code Playgroud) 假设我有两个文件,en.csv
并且sp.csv
,每个都包含正好两个逗号分隔的记录:
en.csv
:
1,dog,red,car
3,cat,white,boat
Run Code Online (Sandbox Code Playgroud)
sp.csv
:
2,conejo,gris,tren
3,gato,blanco,bote
Run Code Online (Sandbox Code Playgroud)
如果我执行
join -t, -a 1 -a 2 -e MISSING en.csv sp.csv
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
1,dog,red,car
2,conejo,gris,tren
3,cat,white,boat,gato,blanco,bote
Run Code Online (Sandbox Code Playgroud)
请注意,所有缺少的字段都已折叠.要获得"正确的"全外连接,我需要指定一种格式; 从而
join -t, -a 1 -a 2 -e MISSING -o 0,1.2,1.3,1.4,2.2,2.3,2.4 en.csv sp.csv
Run Code Online (Sandbox Code Playgroud)
产量
1,dog,red,car,MISSING,MISSING,MISSING
2,MISSING,MISSING,MISSING,conejo,gris,tren
3,cat,white,boat,gato,blanco,bote
Run Code Online (Sandbox Code Playgroud)
这种方式产生完全外连接的一个缺点是一个需要明确指定了决赛桌,这可能不容易编程的应用(如连接表的身份只有在运行时是已知的)做的格式.
最近版本的GNU join
通过支持特殊格式消除了这个缺点auto
.因此,join
上面的最后一个命令的这种版本可以被更普遍的替换
join -t, -a 1 -a 2 -e MISSING -o auto en.csv sp.csv
Run Code Online (Sandbox Code Playgroud)
如何join
在不支持该-o auto
选项的版本中实现同样的效果?
背景和细节
我有一个Unix shell(zsh)脚本,用于处理多个CSV平面文件,并通过广泛使用GNU join
的'-o auto'选项来实现.我需要修改这个脚本,以便它可以在可用 …
(如果这是一个非常基本的问题,我道歉.我有点像HTML菜鸟.)
在HTML5中,<head>
元素中的相对排序是具有形式的元素<link rel="stylesheet" type="text/css" ...>
和具有<script ...></script>
所有重要形式的元素,无论是在语义上还是在性能方面(或以其他方式)?
例如,假设(可能是神话般的)"完全符合HTML5的浏览器",是否存在以下两个片段会产生"不同结果"(即,不同的外观,或明显不同的性能或不同的行为等)的情况. ?
<!DOCTYPE html>
<html>
<head>
<!-- ... -->
<link rel="stylesheet" type="text/css" href="foo.css"/>
<script src="foo.js"></script>
<!-- ... -->
</head>
<!-- ... -->
</html>
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
<head>
<!-- ... -->
<script src="foo.js"></script>
<link rel="stylesheet" type="text/css" href="foo.css"/>
<!-- ... -->
</head>
<!-- ... -->
</html>
Run Code Online (Sandbox Code Playgroud)
(<!-- ... -->
表示两种情况都正确且通用的代码.IOW,两种情况之间的唯一区别是元素中元素<link...>
和<script>...</script>
元素的排序<head>...</head>
.)
人们会认为,在接下来的一点之后jQuery
,所div
选择的宽度#foo
根本不会改变; 毕竟,我们将此宽度设置为它应该具有的值:
var original_width = $('#foo').css('width');
$('#foo').css('width', original_width);
Run Code Online (Sandbox Code Playgroud)
事实上,这个合理的猜测似乎是错误的,如本页所示.我给出下面的代码.需要注意的重要一点是,对应于四个.level-0
div
s 的四个主要部分都具有相同的结构和内容.它们中的第二个和第四个(具有jqbug
类)具有它们的宽度"重新设置"(具有一些JS,如上所述)到它应该已经具有的值.对于第二种情况,通过此操作实际改变宽度; 对于第四种情况,宽度保持不变,如预期的那样.第二种和第四种情况的定义之间的唯一区别是前者具有border-box
其box-sizing
参数.
<div class="level-0 border-box">
<div id="i1" class="level-1">
<p>Lorem ipsum dolor sit amet</p>
</div>
</div>
<div class="level-0 border-box">
<div class="level-1 jqbug">
<p>Lorem ipsum dolor sit amet</p>
</div>
</div>
<div class="level-0">
<div id="i1" class="level-1">
<p>Lorem ipsum dolor sit amet</p>
</div>
</div>
<div class="level-0">
<div class="level-1 jqbug">
<p>Lorem ipsum dolor sit amet</p>
</div>
</div> …
Run Code Online (Sandbox Code Playgroud) 精简版:
如果没有仔细研究
git
源代码,我在哪里可以找到git
用于将内容块与特定跟踪路径名相关联的启发式的完整描述?
详细版本:
在下面的(Unix)shell演示交互中,两个文件a
和b
" git-commit
已经"被修改,以便(有效地)将大部分a
内容传输到b
最后,最后两个文件再次被提交.
要寻找的关键是第二个的输出git commit
以线结束
rename a => b (99%)
Run Code Online (Sandbox Code Playgroud)
即使没有重命名文件(通常意义上)(!?!).
在演示演示之前,这个简短的描述可能会让您更容易理解.
该文件的内容a
和b
通过组合这三个辅助文件,内容产生../A
,../B
和../C
.象征性地,状态a
和b
可以表示为
../A + ../C -> a
../B -> b
Run Code Online (Sandbox Code Playgroud)
就在第一次提交之前,和
../A -> a
../B + ../C -> b
Run Code Online (Sandbox Code Playgroud)
就在第二个之前.
好的,这是演示.
首先,我们展示的辅助文件的内容../A
,../B
以及../C
:
head ../A ../B ../C
# ==> ../A <==
# ... …
Run Code Online (Sandbox Code Playgroud) 假设它C
是具有形状M ×1 的单元阵列(即,size(C)
返回[ M 1]),并且每个元素C
又是具有形状1× N的单元阵列 .
我经常要这样的单元阵列转换到新的单元阵列D
具有形状1× Ñ,与元件是单元阵列具有形状中号 ×1,并且使得C{i}{j}
等于D{j}{i}
对于所有0 < 我 ≤ 中号,和0 < Ĵ ≤ Ñ.
我为此使用了以下怪物
D = arrayfun(@(j) arrayfun(@(i) C{i}{j}, (1:M)', 'un', 0), 1:N, 'un', 0);
Run Code Online (Sandbox Code Playgroud)
但是这个操作的需要经常出现(毕竟,它是一种"单元阵列转置"),我想我会问:
是否有更标准的方法来执行此操作?
请注意,所需D
的不同
E = cat(2, C{:});
Run Code Online (Sandbox Code Playgroud)
或者,等效地,
E = cat(1, D{:});
Run Code Online (Sandbox Code Playgroud)
的E
上面是一个二维(中号 × Ñ)单元阵列,而这两个C
和D
是一维单元阵列的一维单元阵列.当然,转换E
回任何一个C
或者D
也是另一个经常需要的操作(这种事情永远不会用MATLAB结束),但我会把它留给另一个帖子.
这个问题背后的动机远远超出了上述问题.事实证明,我的MATLAB代码的 …
这个bug的原始上下文是一段太大而无法在这样的问题中发布的代码.我不得不将这段代码缩小到仍然显示错误的最小片段.这就是为什么下面显示的代码有些奇怪.
在下面的代码中,该类Foo
可能被认为是一种令人费解的方式来获得类似的东西xrange
.
class Foo(object):
def __init__(self, n):
self.generator = (x for x in range(n))
def __iter__(self):
for e in self.generator:
yield e
Run Code Online (Sandbox Code Playgroud)
实际上,Foo
似乎表现得非常像xrange
:
for c in Foo(3):
print c
# 0
# 1
# 2
print list(Foo(3))
# [0, 1, 2]
Run Code Online (Sandbox Code Playgroud)
现在,子类Bar
中Foo
仅增加了一个__len__
方法:
class Bar(Foo):
def __len__(self):
return sum(1 for _ in self.generator)
Run Code Online (Sandbox Code Playgroud)
Bar
行为就像Foo
在for
-loop中使用时一样:
for c in Bar(3):
print c
# 0 …
Run Code Online (Sandbox Code Playgroud) 该文档在这篇文章的标题的说法说:
float_precision:string,默认无
指定C引擎应该将哪个转换器用于浮点值.选项有没有对于普通转换器,高的高精度转换器,以及round_trip用于往返转换器.
我想更多地了解所提到的三种算法,最好不必深入研究源代码1.
问:这些算法是否具有我可以谷歌的名称,以准确了解他们做了什么以及他们有何不同?
(另外,还有一个问题:在这种情况下究竟是什么"C引擎"?这是Pandas特定的东西,还是Python范围的东西?以上都没有?)
1不熟悉有问题的代码库,我希望找到相关的源代码需要很长时间.但即使假设我设法找到它,我对这种算法的体验是它们的实现是如此高度优化,并且在如此低的水平,没有一些高级描述,至少对我来说,真的很难跟着发生了什么.