小编pte*_*ter的帖子

从3D numpy数组创建3D绘图

好的,所以我觉得应该有一种简单的方法来使用matplotlib创建一个三维散点图.我有一个dset带有0的3D numpy数组(),我不想要一个点和1我在哪里,基本上要绘制它现在我必须逐步完成三个for:循环:

for i in range(30):
    for x in range(60):
        for y in range(60):
            if dset[i, x, y] == 1:
                ax.scatter(x, y, -i, zdir='z', c= 'red')
Run Code Online (Sandbox Code Playgroud)

有关如何更有效地完成此任务的任何建议?任何想法将不胜感激.

python numpy matplotlib

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

使用python从服务器迭代一个大的20+ gb文件

嗨我在服务器上有大约16个20+ gb文件,我需要从中读取特定条目,如果我有一个保存在我的计算机上的文件,我的代码正常工作,以正确的顺序读取文件

f = open('biodayk1.H2009', 'rb')

lbl = array.array('f')

bio = 0 for day in range(iday):
    f.seek(nx*ny*km*bio*4, 1)
    lbl.read(f, nx*ny*km)    #reads the desired ibio
    f.seek(nx*ny*km*(10 - bio)*4, 1) #skips the next ibios 
f.close()
Run Code Online (Sandbox Code Playgroud)

现在我需要从服务器读取文件而不下载每个文件.我正在调查paramiko,并能够连接到服务器,但我不太确定如何迭代文件,只是返回我想要的.如果您需要更多信息或需要我回答任何问题,请询问.提前致谢.

python paramiko linux-mint

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

使用matplotlib pcolor进行插值

我有两个numpy数组,第一个是(30,365)并且包含全年30个深度的值,第二个数组是(30,1)并且包含对应于深度的实际深度(以米为单位)第一个数组.我想绘制第一个数组,以便根据第二个数组缩放深度,但我也希望对数据进行插值(前几个深度相对靠近在一起,而较低的深度相距较远,为pcolor图像提供了块状外观.)

这就是我正在做的事情:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 365, 1)
X, Y = np.meshgrid(x, depth)    #depth is the (30, 1) array

plt.pcolor(X, -Y, data)         #data is the (30, 365) array
Run Code Online (Sandbox Code Playgroud)

这导致了块状外观,关于如何获得更平滑外观的任何想法?

python numpy matplotlib scipy

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

有效地在循环中使用matplotlib的箭袋

我正在使用循环在底图上生成矢量字段:

for i in range(365):
     barbs = m.quiver(x, y, u[i, :], v[i, :], scale = 100)
     plt.draw()
     barbs.remove()
Run Code Online (Sandbox Code Playgroud)

每个循环都会占用大量内存.有办法解决这个问题吗?比如在每个循环结束时完全删除倒钩?

python matplotlib

5
推荐指数
0
解决办法
2342
查看次数

比较两个numpy数组和插入nans

我有两个具有维度(120,360)的numpy数组,其中一个数组由整数和零组成,第二个由浮点数组成.我想在第一个数组中有一个整数的地方用nans替换第二个数组的值.有一种简单有效的方法吗?

另外,我想用nans替换第一个数组中的整数,并将零更改为1.提前致谢.

python numpy

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

从python命令行参数中过滤整数

所以我写了一个程序,我想传递一个文件名和一个整数或只是一个整数.什么是确定哪个参数是整数的最佳方法?这就是我所拥有的:

import sys

if len(sys.argv) > 1):
    for e in sys.argv:
        try:
            bio = map(e, int)
        except:
            pass
Run Code Online (Sandbox Code Playgroud)

提前致谢

python

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

标签 统计

python ×6

matplotlib ×3

numpy ×3

linux-mint ×1

paramiko ×1

scipy ×1