numpy.random.shuffle(x)
和之间有什么区别numpy.random.permutation(x)
?
我已经阅读了doc页面,但是当我想随机改组数组元素时,我无法理解两者之间是否存在任何差异.
更确切地说,假设我有一个数组x=[1,4,2,8]
.
如果我想生成x的随机排列,那么shuffle(x)
和之间的区别是permutation(x)
什么?
我有一个名为"ind_adm"的shapefile和一个名为"pnts"的SpatialPointsDataFrame."pnts"包含随机生成的点,并且一些点与多边形重叠.见下图.
现在,我想在多边形分析中做一点,即我想找出哪些点位于代表印度边界的灰色多边形内.为此我在sp库中使用over()函数.
pt.in.poly <- sp::over(ind_adm, pnts, fn = mean) #do the join
Run Code Online (Sandbox Code Playgroud)
但是,我得到的输出是
>pt.in.poly
values
0 6.019467
Run Code Online (Sandbox Code Playgroud)
我应该得到多边形"在"中的点的索引.
我哪里错了?
我刚刚开始使用IPython Notebook,并对它的强大功能着迷.我一直在网上使用一些例子来开始.我正在学习本教程:http://nbviewer.ipython.org/url/finiterank.com/cuadernos/suavesylocas.ipynb但数学输出未按预期呈现.下面是我的代码和输出:
In [30]:
%load_ext sympyprinting
%pylab inline
from __future__ import division
import sympy as sym
from sympy import *
init_printing()
x,y,z=symbols("x y z")
k,m,n=symbols("k m n", integer=True)
The sympyprinting extension is already loaded. To reload it, use:
%reload_ext sympyprinting
Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.kernel.zmq.pylab.backend_inline].
For more information, type 'help(pylab)'.
In [31]:
t = sin(2*pi*x*(k**2))/ (4*(pi**2)*(k**5)) + (x**2) / (2*k)
t
Out[31]:
2 ? 2 ?
x sin?2???k ?x?
??? + ????????????? …
Run Code Online (Sandbox Code Playgroud) 我有一系列有序点,如下所示:
但是,当我尝试通过一行连接点时,我得到以下输出:
该图连接26到1和25到9和10(一些错误),而不是遵循顺序.绘制点的代码如下:
p<-ggplot(aes(x = x, y = y), data = spat_loc)
p<-p + labs(x = "x Coords (Km)", y="Y coords (Km)") +ggtitle("Locations")
p<-p + geom_point(aes(color="Red",size=2)) + geom_text(aes(label = X))
p + theme_bw()
Run Code Online (Sandbox Code Playgroud)
并绘制我正在使用的线:p + geom_line((aes(x = x,y = y)),color ="blue")+ theme_bw()
包含位置的文件具有以下结构:
p +
geom_line((aes(x=x, y=y)),colour="blue") +
theme_bw()
Run Code Online (Sandbox Code Playgroud)
其中X是数字ID,x和y是坐标对.
我需要做什么才能使线条遵循点的顺序?
我正在尝试生成一系列数字来模拟R中的Levy Walk.目前我正在使用以下代码:
alpha=2
n=1000
x=rep(0,n)
y=rep(0,n)
for (i in 2:n){
theta=runif(1)*2*pi
f=runif(1)^(-1/alpha)
x[i]=x[i-1]+f*cos(theta)
y[i]=y[i-1]+f*sin(theta)
}
Run Code Online (Sandbox Code Playgroud)
代码按预期工作,我可以根据我的要求生成数字.下图显示了这样的Levy Walk:
以下直方图确认生成的数字(即f)实际上属于幂律:
我的问题如下:产生的步长(即f)非常大.我可以修改代码,以便步长只在某个范围内[fmin,fmax]吗?
PS我故意不对代码进行矢量化.
我有一个hashmap中的数据,我想使用键作为二进制文件和值作为数据创建这个数据的直方图.
我的数据:
N = {1: 12, 2: 15, 3: 8, 4: 4, 5: 1}
Run Code Online (Sandbox Code Playgroud)
我想要绘制的内容:
|
15| X
| X
| X
| X X
| X X
10| X X
| X X
| X X X
| X X X
| X X X
5| X X X
| X X X X
| X X X X
| X X X X
| X X X X X
|_________________________
1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚如何使用pyplot.hist()
,但我可以找到的所有重载都是一个值列表,而不是一个hashmap.我真的必须生成这个列表,只是为了让matplotlib …
我使用matplotlib创建极坐标图来代表Rose Diagrams.现在情节正在完美创造.我想用方向名称替换轴上显示的角度:N代表0度,W代表90度,S代表180度,E代表270度.
当前的玫瑰图如下所示:
注意:我尝试过windrose,但这个输出更适合我的目的.因此,为轴分配自定义标签的好方法将非常有用.
我使用的python版本是2.6,matplotlib版本1.2.0
Python中有没有办法捕捉字符串和函数?
例如
def myFunction():
a=(str(local_time[0]))
return a
b="MyFunction"+myFunction
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,我无法连接'str'和'function'对象.
我尝试绘制的数据结构如下:
Year Country Count
1: 2010 St. Vincent and the Grenadines 0
2: 1970 Ukraine 0
3: 1980 Yemen 1
4: 1970 Romania 0
5: 1950 Cyprus 0
6: 1950 Netherlands 0
7: 1980 Mauritania 0
8: 1980 Niger 0
9: 2010 Grenada 2
10: 1970 Israel 6
11: 1990 Suriname 0
12: 1990 Singapore 1
13: 1960 Russia 0
14: 1970 Barbados 0
15: 1950 Panama 0
16: 2010 Mali 3
17: 1980 Greece 11
18: 2010 Venezuela 15 …
Run Code Online (Sandbox Code Playgroud) 我有一个包含200多个文档的大型文档语料库.正如你可以从这么大的语料库中看到的那样,一些单词拼写错误,以不同的格式使用,依此类推.我已经完成了标准的文本处理,如转换为小写,删除标点符号,词干.在进行分析之前,我试图用一些单词替换正确的拼写并将其标准化.我使用与下面相同的语法完成了100次替换,对于大多数替换,它按预期工作.但是,有些(约5%)不起作用.例如,以下替换似乎只有有限的影响:
docs <- tm_map(docs, content_transformer(gsub), pattern = "medecin|medicil|medicin|medicinee", replacement = "medicine")
docs <- tm_map(docs, content_transformer(gsub), pattern = "eephant|eleph|elephabnt|elleph|elephanyt|elephantant|elephantant", replacement = "elephant")
docs <- tm_map(docs, content_transformer(gsub), pattern = "firehood|firewod|firewoo|firewoodloc|firewoog|firewoodd|firewoodd", replacement = "firewood")
Run Code Online (Sandbox Code Playgroud)
由于效果有限,我的意思是即使某些替代品正在运作,但有些则不然.例如,尽管尝试替换" elephantant "," medicinee "," firewoodd ",但在我创建DTM(文档术语矩阵)时它们仍然存在.
我不知道为什么会出现这种混合效应.
另外,以下一行是用一些collect的组合替换语料库中的每个单词:
docs <- tm_map(docs, content_transformer(gsub), pattern = "colect|colleci|collectin|collectiong|collectng|colllect|", replacement = "collect")
Run Code Online (Sandbox Code Playgroud)
仅供参考,当我只替换一个单词时,我使用的是语法(注意fixed = TRUE):
docs <- tm_map(docs, content_transformer(gsub), pattern = "charcola", replacement = "charcoal", fixed=TRUE)
Run Code Online (Sandbox Code Playgroud)
单一替换和失败的是:
docs <- tm_map(docs, content_transformer(gsub), pattern = "dogmonkeycat", replacement = "dog monkey cat", fixed=TRUE)
Run Code Online (Sandbox Code Playgroud) 我正在使用scipy并希望创建一个具有特定平均值的legnth n数组.
假设我想要一个长度为3且平均值为2.5的随机数组,因此可能的选项可能是:[1.5,3.5,2.5] [.25,7.2,.05]等等......等等......
我需要创建许多具有不同长度和不同平均值(指定)的数组,因此欢迎使用通用解决方案.
r ×5
python ×4
ggplot2 ×2
matplotlib ×2
numpy ×2
scipy ×2
arrays ×1
dictionary ×1
function ×1
gis ×1
hashmap ×1
histogram ×1
permutation ×1
polygon ×1
python-2.6 ×1
random ×1
regex ×1
shapefile ×1
shuffle ×1
string ×1
sympy ×1
text-mining ×1
tm ×1