小编use*_*853的帖子

将字典拆分为2个字典

将字典分成两半的最佳方法是什么?

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)

哪个键/值进入每个字典并不重要.我只是在寻找将字典分成两部分的最简单方法.

python dictionary

22
推荐指数
3
解决办法
4万
查看次数

在matplotlib线图上方/下方填充

我正在使用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轴的区域变为红色?谢谢您的帮助.

python matplotlib

18
推荐指数
1
解决办法
3万
查看次数

如何使用多个索引从NumPy数组中获取值

我有一个看起来像这样的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)

python numpy scipy

15
推荐指数
3
解决办法
4万
查看次数

将可变大小的子列表的嵌套列表展平为SciPy数组

如何使用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)

python numpy scipy

11
推荐指数
3
解决办法
3619
查看次数

与两个谓词的Numpy链比较

在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)

python arrays numpy boolean-expression scipy

11
推荐指数
2
解决办法
1460
查看次数

简单ggplot直方图的困难

我是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)

谁能告诉我这是什么问题?在此先感谢您的帮助.

r ggplot2

10
推荐指数
1
解决办法
2万
查看次数

合并n-dictionaries并在2.6上添加值的最快方法

我有一个字典列表,我想组合成一个字典,并添加列表中每个字典的值.例如:

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中有更快的方法吗?

python python-2.6

9
推荐指数
1
解决办法
2437
查看次数

SciPy反卷积功能

我想使用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)的示例.

python scipy

8
推荐指数
1
解决办法
3851
查看次数

在Vim中搜索并替换光标下的单词

我经常将光标放在一个单词上,我想用另一个单词替换所有出现的单词.用另一个单词替换光标下所有出现的单词的最简单方法是什么?

vim

6
推荐指数
1
解决办法
1884
查看次数

在D3中显示文字

我刚开始学习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尝试和显示文本.任何人都可以解释我如何才能显示文字?提前致谢.

d3.js

6
推荐指数
1
解决办法
5383
查看次数