小编den*_*nis的帖子

生成像城市一样分布的随机点?

如何产生1000个随机点,其分布类似于俄亥俄州的城镇?
我恐怕无法准确定义"像城市一样分布"; 均匀分布的中心+小高斯云很容易但是临时的.
补充:必须有一个2d分布族,其聚类参数可以变化以匹配给定的一组点?

random algorithm cluster-analysis

5
推荐指数
1
解决办法
911
查看次数

使用自定义(大圆)距离的 Voronoi 图

我想在几对纬度/经度上创建一个 Voronoi 图,但想使用它们之间的大圆距离,而不是(不准确的)毕达哥拉斯距离。

我可以让 qhull/qvoronoi 或其他 Linux 程序执行此操作吗?

我考虑将点映射到 3D,让 qvoronoi 创建 3D Voronoi 图 [1],并将结果与​​单位球体相交,但我不确定这是否容易。

[1] 我意识到两个纬度/经度之间的 3D 距离(“穿过地球”路径)与大圆距离不同,但很容易证明这种变换保留了相对距离,这才是最重要的对于 Voronoi 图。

math voronoi qhull

5
推荐指数
1
解决办法
1003
查看次数

加载/解析数学编程系统文件

为了不重新发明轮子,我试图找到一些代码来解析
数学编程系统文件,但是我没有在python中找到任何实现。

在此处输入图片说明

是否有任何可用的代码?

更新资料

阅读数学编。档案

MPS示例(afiro.mps:link1link2
包含:

  1. 目标函数,一行,n列
  2. 带限制的表,m行,n列
  3. 右表,一列,m行

许多语言都有用于读取和写入这些文件的软件包

python linear-programming mps python-2.7

5
推荐指数
1
解决办法
591
查看次数

如何使用Pandas只读取Excel标题?

我知道用 pandas 读取 Excel 表格:

import pandas as pd

table = pd.read_excel(io)
Run Code Online (Sandbox Code Playgroud)

加载数据后,如果我想获取表头:

table.columns
Run Code Online (Sandbox Code Playgroud)

这种方法是可行的,但是有时候我只是想直接获取excel表格的表头,尤其是当excel表格体量较大时,将数据表加载到内存中会非常耗时&而且不必要,有时甚至直接溢出卡住。看官方文档,似乎我可以使用nrows参数来指定只能读取Excel的特定行,这意味着我可以用它来只读取第一行标题:

header = pd.read_excel(io, nrows = 0)
Run Code Online (Sandbox Code Playgroud)

但是,我发现也无法阻止pandas读取整个excel数据,而且仍然会消耗大量的时间和内存。您在处理这个问题方面有好的经验吗?

python excel dataframe pandas openpyxl

5
推荐指数
1
解决办法
8397
查看次数

matplotlib:显示一个带有边缘密度图的二维数组

在matplotlib中,如何绘制具有边际密度的二维密度,沿着 散点图 - 边缘直方图 - 在ggplot22D直方图中绘制直方图/边缘图?概括地说,

    # I have --
A = a 2d numpy array >= 0
xdens ~ A.mean(axis=0)
ydens ~ A.mean(axis=1)

    # I want --
pl.imshow( A )
pl.plot( xdens ) narrow, below A
pl.plot( ydens ) narrow, left of A, with the x y axes flipped
Run Code Online (Sandbox Code Playgroud)


在2017年添加:请参阅seaborn.jointplot 和那里的好例子,也是在SO上.(问题发生在2013年,在seaborn之前.)

matplotlib seaborn

4
推荐指数
1
解决办法
3032
查看次数

用pycurl获取很多页面?

我想从网站上获得很多页面,比如

curl "http://farmsubsidy.org/DE/browse?page=[0000-3603]" -o "de.#1"
Run Code Online (Sandbox Code Playgroud)

但是在python中获取页面数据,而不是磁盘文件.有人可以发布pycurl代码来执行此操作,
或者快速urllib2(不是一次一个),如果可能的话,
或者说"忘记它,卷曲更快更强大"?谢谢

python curl urllib2 pycurl

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

如何“Python方式”使用/链接函数?

我有一组函数f(x), g(x), s(x), t(x)

它们被设计为像这样链接在一起:f(g(s(t(x))))

这些函数经过精心设计,可以按任意顺序链接。我的代码的另一部分在列表中构建序列:[f, g, s, t]

有没有一种优雅的方法来获取列表并链接函数调用,获取最后结果的输出?

现在显然我可以使用一个类似外部计数器的变量来跟踪输出和一个简单的for循环增量索引,但我想知道是否有更Pythonic的方法来做到这一点?

python functional-programming function function-composition

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

使用C函数扩展Numpy

我正在尝试加速我的Numpy代码,并决定我想实现一个特定的函数,我的代码大部分时间都在C中.

我实际上是C中的新手,但我设法编写了一个函数,它将矩阵中的每一行规范化为1.我可以编译它并用一些数据(在C中)测试它并且它做我想要的.那时我为自己感到骄傲.

现在我试图从Python中调用我的光荣函数,它应该接受一个2d-Numpy数组.

我尝试过的各种事情都是

  • 痛饮

  • SWIG + numpy.i

  • ctypes的

我的功能有原型

void normalize_logspace_matrix(size_t nrow, size_t ncol, double mat[nrow][ncol]);
Run Code Online (Sandbox Code Playgroud)

因此它需要一个指向可变长度数组的指针并将其修改到位.

我尝试了以下纯SWIG接口文件:

%module c_utils

%{
extern void normalize_logspace_matrix(size_t, size_t, double mat[*][*]);
%}

extern void normalize_logspace_matrix(size_t, size_t, double** mat);
Run Code Online (Sandbox Code Playgroud)

然后我会做(在Mac OS X 64bit上):

> swig -python c-utils.i

> gcc -fPIC c-utils_wrap.c -o c-utils_wrap.o \
     -I/Library/Frameworks/Python.framework/Versions/6.2/include/python2.6/ \
     -L/Library/Frameworks/Python.framework/Versions/6.2/lib/python2.6/ -c
c-utils_wrap.c: In function ‘_wrap_normalize_logspace_matrix’:
c-utils_wrap.c:2867: warning: passing argument 3 of ‘normalize_logspace_matrix’ from   incompatible pointer type

> g++ -dynamiclib c-utils.o -o _c_utils.so
Run Code Online (Sandbox Code Playgroud)

在Python中,我在导入模块时遇到以下错误:

>>> import c_utils
Traceback …
Run Code Online (Sandbox Code Playgroud)

c python swig numpy cython

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

无法在任何地方运行 jupyter(终端、anaconda 分发器)Mac os 10.12.6

我在终端中运行 jupyter 时遇到问题。

\n

运行后终端显示什么

\n
maxim@MacBook-Pro-Maxim \xee\x82\xb0 ~ \xee\x82\xb0 jupyter notebook\nTraceback (most recent call last):\n  File "/Library/Frameworks/Python.framework/Versions/3.9/bin/jupyter-notebook", line 5, in <module>\n    from notebook.notebookapp import main\n  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/notebook/notebookapp.py", line 49, in <module>\n    from zmq.eventloop import ioloop\n  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/zmq/__init__.py", line 62, in <module>\n    from zmq import backend\n  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/zmq/backend/__init__.py", line 32, in <module>\n    raise original_error from None\n  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/zmq/backend/__init__.py", line 27, in <module>\n    _ns = select_backend(first)\n  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/zmq/backend/select.py", line 32, in select_backend\n    mod = import_module(name)\n  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module\n …
Run Code Online (Sandbox Code Playgroud)

python macos terminal pyzmq jupyter-notebook

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

复制目录时排除目录

我想在复制时排除两个目录。

例子:

$ ls /root/tmp
a b c d e f    
Run Code Online (Sandbox Code Playgroud)

我想排除目录ab

$ cp -rp /root/tmp/ /root/tmp1/
Run Code Online (Sandbox Code Playgroud)

unix linux shell cp

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