我正在使用 polyfit 函数向我的数据集添加趋势线。因为我得到了很多数据集(比这里找到的四个例子多得多),我想创建一个 for 循环来检查数据的维度——正如我们所知,polyfit-function 只接受 1- D 数据。我使用的新手方法np.ravel()是这样的:import numpy as npdata_a = np.array([1, 2, 3, 4, 5, 6])data_b = np.array([10, 20, 30, 40, 50, 60])data_c = np.transpose(np.array([[1, 2, 3, 4, 5, 6]]))data_d = np.array([[10, 20, 30, 40, 50, 60]])for items in (data_a, data_b, data_c, data_d): if items.ndim == 1: print('It is an 1-D array -- no action needed.') print(items.ndim) elif items.ndim == 2: print('It is an 2-D array, please do not be alarmed, I will convert it for you.') items.ravel() print(items.ndim) else: print('It contains more than two dimensions.')print(data_a.ndim)print(data_b.ndim)print(data_c.ndim)print(data_d.ndim)如果我np.ravel()在 for 循环之外的任何数据集上使用过,它就会像预期的那样工作。例如:data_c_2 = data_c.ravel()data_d_2 = data_d.ravel()但是由于我有很多数据集,我会更好(在我看来,也许是愚蠢的头脑中)在检查维度的同时遍历它。如果有人能抽出时间帮助我,我将不胜感激。如果有人能解释我在 for 循环中做错了什么,我也将不胜感激,以便我更好地理解它。
添加回答
举报
0/150
提交
取消