我正试图在世界地图上绘制一些坐标点.我使用圆柱投影如下:
fig = plt.figure(figsize=(18,6))
map = Basemap(projection='cyl', lat_0 = 57, lon_0 = -135, resolution = 'c', area_thresh = 0.1, llcrnrlon=-180.0, llcrnrlat=-7.0, urcrnrlon=180.0, urcrnrlat=7.0)
X, Y = map(LON, LAT)
map.plot(X, Y, "ro", markersize=5)
Run Code Online (Sandbox Code Playgroud)
问题在于我的点(大约1000)都包含在[-3°:-3°]纬度范围内,并且一旦在整个世界地图中绘制,它们都被挤压到赤道附近的紧线.
因此,我想"拉伸",比如说,[-5°:+ 5°]纬度范围,甚至失去我的投影的比例,以便缩放感兴趣的区域并扩大我的点之间的距离.我尝试限制llcrnrlat和urcrnrlat参数,但只是裁剪了感兴趣的区域,没有缩放或放大图像.我怎样才能做到这一点?
给定一个列表
A = [1, 6, 13, 15, 17, 18, 19, 21, 29, 36, 53, 58, 59, 61, 63, 78, 79, 81, 102, 114]
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以对连续元素之间的差异小于 3 的所有簇进行分组?
也就是说,获得如下内容:
[13, 15, 17, 19, 21], [58, 59, 61, 63], [78, 79, 81]
Run Code Online (Sandbox Code Playgroud)
我想知道是否存在任何内置函数,但我找不到类似的东西。我试图用 来解决这个groupby问题itertools,但我被困住了。先感谢您。
我有一个像这样的数组:
A = [1,3,8,9,3,7,2,1,3,9,6,8,3,8,8,1,2]
Run Code Online (Sandbox Code Playgroud)
而且我想计算那些"入口集群"的数量>5.在这种情况下,结果应该是4,因为:
[1, 3, (8,9), 3, (7), 2, 1, 3, (9,6,8), 3, (8,8), 1, 2]
Run Code Online (Sandbox Code Playgroud)
给定L数组的长度,我可以这样做:
A = [1,3,8,9,3,7,2,1,3,9,6,8,3,8,8,1,2]
A = np.array(A)
for k in range(0,L):
if A[k]>5:
print k, A[k]
Run Code Online (Sandbox Code Playgroud)
这给了我所有大于的条目5.但是我怎么能对每一组数字进行分组呢?
我有一个包含几列的 FILE.txt:
A 12 13.9
B 51 55.4
C 20 22.1
D 89 96.8
Run Code Online (Sandbox Code Playgroud)
我想读取它们并为每列填充一个数组,以获得:
array LETTERS = [A, B, C, D]
array FIRST = [12, 51, 20, 89]
array SECOND = [13.9, 55.4, 22.1, 96.8]
Run Code Online (Sandbox Code Playgroud)
我怎样才能在Python中做到这一点?
我有一个关于用所需的 bin 宽度重新排列数字列表的问题。这基本上就是频率直方图的作用,但我不需要绘图,只需要箱数和每个箱的出现次数。
到目前为止,我已经编写了一些可以实现我想要的功能的代码,但效率不是很高。给定一个 list a,为了将其重新装箱,箱宽度等于 3,我编写了以下内容:
import os, sys, math
import numpy as np
# list of numbers
a = list(range(3000))
# number of entries
L = int(len(a))
# desired bin width
W = 3
# number of bins with width W
N = int(L/W)
# definition of new empty array
a_rebin = np.zeros((N, 2))
# cycles to populate the new rebinned array
for n in range(0,N):
k = 0
for i in range(0,L):
if a[i] >= (W*n) …Run Code Online (Sandbox Code Playgroud)