gpt4 book ai didi

python - 如何检查数组是否为二维

转载 作者:太空狗 更新时间:2023-10-29 18:28:07 25 4
gpt4 key购买 nike

我用这样的loadtxt读取文件

data = loadtxt(filename) # id x1 y1 x2 y2

data 可能看起来像

array([[   4.      ,  104.442848, -130.422137,  104.442848,  130.422137],
[ 5. , 1. , 2. , 3. , 4. ]])

然后我可以将 data 缩减为属于某个 id 编号的行:

d = data [ data[:,0] == id] 

这里的问题是当数据只包含一行时。

所以我的问题是如何检查数组 data 的二维性?

我试过检查

data.shape[0]  # num of lines

但是对于单行代码,我得到类似 (n, ) 的东西,所以这将不起作用。

关于如何正确执行此操作的任何想法?

最佳答案

data.ndim给出数组的维数(numpy 称之为 axes 的数量)。


正如您已经观察到的,当一个数据文件只有一行时,np.loadtxt返回一维数组。当数据文件多行时,np.loadtxt返回一个二维数组。

确保 data 是二维的最简单方法是将 ndmin=2 传递给 loadtxt:

data = np.loadtxt(filename, ndmin=2)

ndmin 参数是在 NumPy 版本 1.6.0 中添加的。对于旧版本,你可以使用 np.atleast_2d :

data = np.atleast_2d(np.loadtxt(filename))

关于python - 如何检查数组是否为二维,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13544639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com