我有一个从Pandas那里得到的无聊的数组。我试图对它的每个元素执行np.log(自然对数),但它给了我错误。
第一个月
数组如下所示。
[5.810785984999995 5.666261181666755 5.577470475833309 7.967268425833254
8.298006562222156 8.974100307777746 8.553072009444406 9.059574381388813
9.055145143654158 8.770924936944482 8.52566836194444 8.21766430611109]
字符串
该数组来自pandars Dataframe ,使用以下代码:(仅供参考,根据评论中的要求)
flag = df.iloc[0:12,7].to_numpy()
型
当我尝试
print (np.log(flag))
型
但是当我尝试
a = np.array([1.35,2.49,3.687])
print (np.log(a))
型
它工作正常。这些仍然是浮点数据类型吗?所以我不知道问题出在哪里,也不知道该如何解决。
在一天结束的时候,我希望得到数组的自然对数。“
1条答案
按热度按时间rbl8hiat1#
数组中的元素似乎不是
np.log
函数的适当数据类型。尽管数组中的元素可能看起来是浮点数,但它们可能具有不同的数据类型,从而导致错误。在应用log之前,可以尝试使用
astype(float)
将数组中的元素显式转换为float数据类型:字符串