将字典分成两半的最佳方法是什么?
d = {'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4, 'key5': 5}
Run Code Online (Sandbox Code Playgroud)
我希望这样做:
d1 = {'key1': 1, 'key2': 2, 'key3': 3}
d2 = {'key4': 4, 'key5': 5}
Run Code Online (Sandbox Code Playgroud)
哪个键/值进入每个字典并不重要.我只是在寻找将字典分成两部分的最简单方法.
我正在使用matplotlib创建一个简单的线条图.我的情节是一个简单的时间序列数据集,其中我有时间沿着x轴和我在y轴上测量的东西的值.y值可以有正值或负值,如果y值> 0,我想用蓝色填充我线上方和下方的区域,如果y值<0,我想填充红色.这是我的情节:

正如你所看到的,我可以正确填写蓝色,但我无法正确填写红色.这是我使用的基本代码:
plt.plot(x, y, marker='.', lw=1)
d = scipy.zeros(len(y))
ax.fill_between(xs,ys,where=ys>=d, color='blue')
ax.fill_between(xs,0,where=ys<=d, color='red')
Run Code Online (Sandbox Code Playgroud)
如何将正y值到x轴的区域变为蓝色,从负y值到x轴的区域变为红色?谢谢您的帮助.
我有一个看起来像这样的NumPy数组:
arr = [100.10, 200.42, 4.14, 89.00, 34.55, 1.12]
Run Code Online (Sandbox Code Playgroud)
如何通过索引从此数组中获取多个值:
例如,如何获取索引位置1,4和5的值?
我正在尝试这样的事情,这是不正确的:
arr[1, 4, 5]
Run Code Online (Sandbox Code Playgroud) 如何使用numpy/scipy来展平具有不同大小的子列表的嵌套列表?速度非常重要,列表很大.
lst = [[1, 2, 3, 4],[2, 3],[1, 2, 3, 4, 5],[4, 1, 2]]
Run Code Online (Sandbox Code Playgroud)
有什么比这更快?
vec = sp.array(list(*chain(lst)))
Run Code Online (Sandbox Code Playgroud) 在Numpy中,我可以像这样生成一个布尔数组:
>>> arr = np.array([1, 2, 1, 2, 3, 6, 9])
>>> arr > 2
array([False, False, False, False, True, True, True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)
有可能将比较链接在一起吗?例如:
>>> 6 > arr > 2
array([False, False, False, False, True, False, False], dtype=bool)
Run Code Online (Sandbox Code Playgroud) 我是R的绝对初学者,所以请原谅这个问题的简单性.我无法在R中加载文件并从一列数据中生成直方图.这是我的代码:
library('ggplot2')
df <- read.csv('/PATH/TO/FILE', sep=' ', head=FALSE)
vals <- df[,2]
qplot(df, data=vals, geom="histogram")
Error: ggplot2 doesn't know how to deal with data of class numeric
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这是什么问题?在此先感谢您的帮助.
我有一个字典列表,我想组合成一个字典,并添加列表中每个字典的值.例如:
ds = [{1: 1, 2: 0, 3: 0}, {1: 2, 2: 1, 3: 0}, {1: 3, 2: 2, 3: 1, 4: 5}]
Run Code Online (Sandbox Code Playgroud)
最终结果应该是单个词典:
merged = {1: 6, 2: 3, 3: 1, 4: 5}
Run Code Online (Sandbox Code Playgroud)
我对性能很感兴趣,我正在寻找能够将n-dictionaries列表合并到一个字典中并对值进行求和的最快实现.一个明显的实现是:
from collections import defaultdict
merged = defaultdict(int)
for d in ds:
for k, v in d.items():
merged[k] += v
Run Code Online (Sandbox Code Playgroud)
在Python 2.6中有更快的方法吗?
我想使用SciPy的去卷积函数来找到两个高斯分布的未知分布.在SciPy中没有与此功能相关的文档,所以我只是在寻找一个关于如何在我的情况下使用此功能的示例.例如,给定两个正态分布N(100,1),N(300,2),我想了解我怎样才能找到去卷积n的分布(200,1).
>>> sample1 = np.round(scipy.around(scipy.stats.norm(100, 1).rvs(size=1000)))
>>> sample2 = np.round(scipy.stats.norm(300, 2).rvs(size=2000))
>>> signal.deconvolve(sample1, sample2)
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了负值,这似乎是错误的.如何从此反卷积中恢复分布N(200,1)?特别是,我认为我的问题是我不明白如何得到除数.
我真正想要看的是如何使用SciPy的反卷积从这些样本中恢复~N(200,1)的示例.
我经常将光标放在一个单词上,我想用另一个单词替换所有出现的单词.用另一个单词替换光标下所有出现的单词的最简单方法是什么?
我刚开始学习D3,目前正在通过理解这个例子.
我试图在图表中的每个节点旁边显示文本.在JSON数据中,有一个名为key的键name,其中包含来自LesMisérables的角色的名称.我试图使用以下代码在每个节点旁边显示此文本:
var node = svg.selectAll(".node")
.data(graph.nodes)
.enter().append("circle")
.attr("class", "node")
.attr("r", 5)
.style("fill", "black")
.text(function(d) { return d.name;}).style("font-family", "Arial").style("font-size", 12)
.call(force.drag);
Run Code Online (Sandbox Code Playgroud)
我基本上只是改变了.text尝试和显示文本.任何人都可以解释我如何才能显示文字?提前致谢.
python ×7
scipy ×4
numpy ×3
arrays ×1
d3.js ×1
dictionary ×1
ggplot2 ×1
matplotlib ×1
python-2.6 ×1
r ×1
vim ×1