如何产生1000个随机点,其分布类似于俄亥俄州的城镇?
我恐怕无法准确定义"像城市一样分布"; 均匀分布的中心+小高斯云很容易但是临时的.
补充:必须有一个2d分布族,其聚类参数可以变化以匹配给定的一组点?
我想在几对纬度/经度上创建一个 Voronoi 图,但想使用它们之间的大圆距离,而不是(不准确的)毕达哥拉斯距离。
我可以让 qhull/qvoronoi 或其他 Linux 程序执行此操作吗?
我考虑将点映射到 3D,让 qvoronoi 创建 3D Voronoi 图 [1],并将结果与单位球体相交,但我不确定这是否容易。
[1] 我意识到两个纬度/经度之间的 3D 距离(“穿过地球”路径)与大圆距离不同,但很容易证明这种变换保留了相对距离,这才是最重要的对于 Voronoi 图。
我知道用 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数据,而且仍然会消耗大量的时间和内存。您在处理这个问题方面有好的经验吗?
在matplotlib中,如何绘制具有边际密度的二维密度,沿着 散点图 - 边缘直方图 - 在ggplot2 或 2D直方图中绘制直方图/边缘图?概括地说,
# 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)
我想从网站上获得很多页面,比如
curl "http://farmsubsidy.org/DE/browse?page=[0000-3603]" -o "de.#1"
Run Code Online (Sandbox Code Playgroud)
但是在python中获取页面数据,而不是磁盘文件.有人可以发布pycurl
代码来执行此操作,
或者快速urllib2
(不是一次一个),如果可能的话,
或者说"忘记它,卷曲更快更强大"?谢谢
我有一组函数f(x), g(x), s(x), t(x)
。
它们被设计为像这样链接在一起:f(g(s(t(x))))
这些函数经过精心设计,可以按任意顺序链接。我的代码的另一部分在列表中构建序列:[f, g, s, t]
有没有一种优雅的方法来获取列表并链接函数调用,获取最后结果的输出?
现在显然我可以使用一个类似外部计数器的变量来跟踪输出和一个简单的for
循环增量索引,但我想知道是否有更Pythonic的方法来做到这一点?
我正在尝试加速我的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) 我在终端中运行 jupyter 时遇到问题。
\n运行后终端显示什么
\nmaxim@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) 我想在复制时排除两个目录。
例子:
$ ls /root/tmp
a b c d e f
Run Code Online (Sandbox Code Playgroud)
我想排除目录a
和b
:
$ cp -rp /root/tmp/ /root/tmp1/
Run Code Online (Sandbox Code Playgroud)