小编cqc*_*991的帖子

NumPy:为什么需要明确复制一个值?

arr = np.arange(0,11)
slice_of_arr = arr[0:6]
slice_of_arr[:]=99

# slice_of_arr returns
array([99, 99, 99, 99, 99, 99])
# arr returns
array([99, 99, 99, 99, 99, 99,  6,  7,  8,  9, 10])
Run Code Online (Sandbox Code Playgroud)

如上所示,您不能直接更改值slice_of_arr,因为它是一个视图arr,而不是一个新变量.

我的问题是:

  1. NumPy为什么这样设计?每次你需要.copy然后分配价值不是很乏味吗?
  2. 有什么我可以做的,摆脱.copy?如何更改NumPy的默认行为?

python numpy

7
推荐指数
1
解决办法
323
查看次数

如何解开阵列?

我需要生成一个listscipy.optimize.minimizeboundry condition,就应该是这样的:

bonds = [(0., 0.99),(-30, 30),(-30, 30),(0., 30),(0., 30),(-0.99, 0.99),
        (0., 0.99),(-30, 30),(-30, 30),(0., 30),(0., 30),(-0.99, 0.99),
        (0., 0.99),(-30, 30),(-30, 30),(0., 30),(0., 30),(-0.99, 0.99),]
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何优雅的方式吗?

我试过了:

bonds = [[(0., 0.99),(-30, 30),(-30, 30),(0., 30),(0., 30),(-0.99, 0.99)] for i in range(3)]
Run Code Online (Sandbox Code Playgroud)

但这会产生

[[(0.0, 0.99), (-30, 30), (-30, 30), (0.0, 30), (0.0, 30), (-0.99, 0.99)],
 [(0.0, 0.99), (-30, 30), (-30, 30), (0.0, 30), (0.0, 30), (-0.99, 0.99)],
 [(0.0, 0.99), (-30, 30), (-30, 30), (0.0, 30), (0.0, …
Run Code Online (Sandbox Code Playgroud)

python arrays list

7
推荐指数
1
解决办法
872
查看次数

Jupyter Notebook:如何将粘贴图像复制到 MS Word 中?

我试图复制图像并将它们粘贴到 MS Word 中,但没有成功。

我不确定这是我的问题,还是词的问题?

图片位于:https : //cdn.rawgit.com/cqcn1991/Wind-Speed-Analysis/master/output_HTML/marham.html#5.3-Sectoral-Comaprison

在此处输入图片说明

粘贴结果(在 MS Word 中),由 CTRL+C、CTRL+V 完成:

在此处输入图片说明

我只能粘贴文本,不能粘贴图像。

我用 Medium 和另一个网络应用程序进行了试验。Medium 的工作方式与 MS Word 完全一样,而另一个则可以粘贴。我认为潜在的问题可能是 Jupyter Notebook 中的图像在 div 中太深了?所以它在Word中被转义了?

clipboard jupyter-notebook

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

Python&Scipy:如何适应von mises发行版?

我正试图从scipy(http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.vonmises.html)中修改von Mises发行版.

所以我试过了

from scipy.stats import vonmises
kappa = 3
r = vonmises.rvs(kappa, size=1000)
plt.hist(r, normed=True,alpha=0.2)
Run Code Online (Sandbox Code Playgroud)

它回来了

在此输入图像描述

但是,当我在其上拟合数据时

vonmises.fit(r)
# returns (1.2222011312461918, 0.024913780423670054, 2.4243546157480105e-30)

vonmises.fit(r, loc=0, scale=1)
# returns (1.549290021706847, 0.0013319431181202394, 7.1653626652619939e-29)
Run Code Online (Sandbox Code Playgroud)

但是返回的值都不是Von Mises,kappa的参数.

返回值是多少?我觉得第二个是loc,或者是平均值.但不知道第一个返回值是什么.

我应该如何适应von mises发行版?

python numpy scipy

7
推荐指数
1
解决办法
1602
查看次数

UnicodeDecodeError: 当读取的 json 包含中文时,'gbk' 编解码器无法解码字节

我正在从 Python 2 切换到 3

在我的 jupyter 笔记本中,代码是

file = "./data/test.json" 
with open(file) as data_file:    
    data = json.load(data_file)
Run Code Online (Sandbox Code Playgroud)

以前用python 2没问题,但现在切换到python 3后,它给了我错误

UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 123: illegal multibyte sequence
Run Code Online (Sandbox Code Playgroud)

test.json文件是这样的:

[{
    "name": "Daybreakers",
    "detail_url": "http://www.movieinsider.com/m4120/daybreakers/",
    "movie_tt_id": "??"
  }]
Run Code Online (Sandbox Code Playgroud)

如果我把中文删掉,就不会有错误了。

所以我该怎么做?

SO中有很多类似的问题,但我没有找到适合我的案例的好的解决方案。如果你找到一个适用的,请告诉我,我会关闭这个。

非常感谢!

python unicode json utf-8

7
推荐指数
1
解决办法
8923
查看次数

如何通过与Active Record关联找到has_many中缺少相关记录的记录?

我们有"主题 - 关系 - 类别".

也就是说,主题通过关系有很多类别.

我认为很容易得到一个类别的主题

  #Relationship  Model
  Topic_id: integer
  Category_id: integer

  @topics=Topic.joins(:relationships)
Run Code Online (Sandbox Code Playgroud)

但是,并非每个主题都有一个类别.那么我们如何检索没有类别的主题呢?是否有减号查询?

也许看起来@topics=Topic.where('id NOT IN (?)', Relationship.all) 我发现它在activerecord中等同于SQL'减'但不确定这个解决方案.

ruby-on-rails

6
推荐指数
2
解决办法
2781
查看次数

Scipy:高效生成一系列积分(积分函数)

我有一个函数,我想得到它的积分函数,如下所示:

在此输入图像描述

也就是说,x我需要获取 处的值,而不是获取 点处的单个积分值multiple points

例如:

假设我希望范围为 (-20,20)

def f(x):
    return x**2

x_vals  = np.arange(-20, 21, 1)
y_vals =[integrate.nquad(f, [[0, x_val]]) for x_val in x_vals ]

plt.plot(x_vals, y_vals,'-', color = 'r')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

问题

在我上面给出的示例代码中,对于每个点,集成都是从头开始完成的。在我的真实代码中,它f(x)非常复杂,并且是多重集成,因此运行时间太慢(Scipy:在对整个表面进行集成时加速集成?)。

我想知道是否有任何方法可以Phi(x)在给定范围内有效生成 , 。

我的想法:

该点的积分值Phi(20)是从 计算的Phi(19),并且Phi(19)是从Phi(18)等等。所以当我们得到时Phi(20),实际上我们也得到了 的系列(-20,-19,-18,-17 ... 18,19,20)。只是我们没有保存该值。

所以我在想,是否可以为集成函数创建保存点save point,以便当它传递 a 时,该值将被保存并继续到下一个点。因此,通过对 的单个过程20,我们也可以获得 的值(-20,-19,-18,-17 ... 18,19,20)

python recursion numpy scipy

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

Jupyter和IPython:%matplotlib内联有什么作用?

我很好奇jupyter笔记本如何使情节内联.我%matplotlib inline在github中搜索并没有找到源代码(https://github.com/search?l=python&q=org%3Ajupyter+matplotlib+inline&ref=searchresults&type=Code&utf8=%E2%9C%93).

它在文档中是不可用的(http://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-matplotlib).

谁能告诉我在哪里可以看到源代码%matplotlib inline

python matplotlib

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

Python:如何拟合冯米塞斯分布的混合?

我有一个角度分布,我想拟合 von Mises 分布的混合

在此输入图像描述

我怎样才能做到这一点?

我在 R 中找到了一个实现,在 R 中拟合 von Mises 分布的混合

我还发现可以在Python中安装单个von Mises分布,http://docs.scipy.org/doc/scipy/reference/ generated/scipy.stats.vonmises.html

我想也许我可以尝试如何拟合混合分布,因为我已经在scipy?中定义了函数。


最后,我使用 解决了这个问题rpy2。具体来说,我使用Python清理数据,并使用R包训练VMM(因此需要安装R和相关包)。

python statistics scipy

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

Jupyter Notebook:多个笔记本到一个内核?

我正在使用Jupyter Notebook做一些复杂的工作,所以笔记本很长(https://github.com/cqcn1991/Wind-Speed-Analysis).

有时,在笔记本中间,我想做一些额外的分析.将它们直接添加到当前笔记本中(中间)可能会使它更复杂,并打破其当前的结构.我想如果我可以简单地打开另一个笔记本,将它连接到现有笔记本的内核,然后进行额外的分析,那将是惊人的.

有点像

# In the new notebook
connect_to 'exisiting_notebook_name' # get access to the existing notebook
df.describe()
# ...
# some additional analysis works
Run Code Online (Sandbox Code Playgroud)

python jupyter jupyter-notebook

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