小编mac*_*ace的帖子

Python乘法范围

我需要获取从范围(15,20,1)派生的数字列表,每个数字都是 15*x*100:

X   Y
15  100
16  93,75
17  88,2352941176
18  83,3333333333
19  78,9473684211
20  75
Run Code Online (Sandbox Code Playgroud)

结果应该是一个包含两位小数的 y 数组。

我尝试使用 python,花了一段时间才发现它只能处理整数。然后我尝试了 numpy,但我仍然没有到达那里。我是个傻瓜,对这个问题的愚蠢感到抱歉,但在尝试了两个小时后,我决定发布一个问题。

最好的,梅斯

python arrays range

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

使用gdal和运行窗口方法的python中的方差图像

gdal中的方差图像

我想要一个局部方差图像与3x3的地理空间光栅图像使用python.到目前为止,我的方法是将光栅带作为数组读入,然后使用矩阵表示法运行移动窗口并将数组写入新的光栅图像.这种方法适用于本教程中描述的高通滤波器:http://www.gis.usu.edu/~chrisg/python/2009/lectures/ospy_slides6.pdf

然后我尝试用几种方法计算方差,最后一种方法使用numpy(作为np),但我得到的灰色图像到处都是相同的值.我愿意接受任何解决方案.如果它最终给出了我的平均局部方差,那就更好了.

 rows = srcDS.RasterYSize
 #read in as array
 data = srcBand.ReadAsArray(0,0, cols, rows).astype(np.int)

 #calculate the variance for a 3x3 window
 outVariance = np.zeros((rows, cols), np.float)
 outVariance[1:rows-1,1:cols-1] = np.var([(data[0:rows-2,0:cols-2]),
   (data[0:rows-2,1:cols-1]),
   (data[0:rows-2,2:cols]  ),
   (data[1:rows-1,0:cols-2]),
   (data[1:rows-1,1:cols-1]),
   (data[1:rows-1,2:cols]  ),
   (data[2:rows,0:cols-2]  ),
   (data[2:rows,1:cols-1]  ),
   (data[2:rows,2:cols]    )])
 #output 
 outDS = driver.Create(outFN, cols, rows, 1, GDT_Float32)
 outDS.SetGeoTransform(srcDS.GetGeoTransform())
 outDS.SetProjection(srcDS.GetProjection())
 outBand = outDS.GetRasterBand(1)
 outBand.WriteArray(outVariance,0,0)
 ...
Run Code Online (Sandbox Code Playgroud)

python window gdal variance

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

R 将列乘以第二个数据框中的值

我有两个数据框:df1

plot   grass moss   rock    other     stuff  
a      4      0     0       text      3
b      2      2     3       text      4
c      10     0     0       text      0
d      3      1     0       text      9
Run Code Online (Sandbox Code Playgroud)

和 df2

Cover  value
grass   5
moss    2
rock    3
Run Code Online (Sandbox Code Playgroud)

我想将 df1 中的值乘以 df2 中的相应值。该解决方案应该适用于大型数据集。

结果df3

plot  grass moss    rock    
a     20      0     0      
b     10      4     9      
c     50      0     0       
d     15      2     0      
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

解压缩并重命名zip文件夹

我想从python中提取一个zip文件中的特定文件夹,然后在原始文件名后重命名它.

例如,我有一个名为test.zip包含多个文件夹和子文件夹的文件:

xl/media/image1.png
xl/drawings/stuff.png
stuff/otherstuff.png
Run Code Online (Sandbox Code Playgroud)

我希望将提取的媒体文件夹的内容提供给名为test的文件夹: test/image1.png

python directory zip extract

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

将栅格类替换为 R 中 data.frame 中的值

我有一个分类结果的整数栅格。现在我想用数据帧中的浮点值替换这些类,即栅格类 1 = 0.321; 2 级 = 0.232;3 级 = 3.211。数据框有很多列,我想替换几种不同情况的类:

Class C      N      ....
1    0.321   0.001 
2    0.232   0.012 
3    3.211   0.021 
Run Code Online (Sandbox Code Playgroud)

有没有办法方便地做到这一点,例如将 data.frame 合并到栅格中?我需要将生成的栅格与另一个栅格相乘以生成输出。

这是光栅文件的元数据:

 > LCC
 class       : RasterLayer 
 dimensions  : 3296, 3711, 12231456  (nrow, ncol, ncell)
 resolution  : 2, 2  (x, y)
 extent      : 514151.8, 521573.8, 7856419, 7863011  (xmin, xmax, ymin, ymax)
 coord. ref. : +proj=utm +zone=55 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 
 data source : /home/..../Raster.tif 
 names       : Raster 
 values      : 0, 255  (min, max) …
Run Code Online (Sandbox Code Playgroud)

r raster dataframe

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

标签 统计

python ×3

dataframe ×2

r ×2

arrays ×1

directory ×1

extract ×1

gdal ×1

range ×1

raster ×1

variance ×1

window ×1

zip ×1