我有一个pandas DataFrame,其中包含2个地理位置(long_1,lat_1,long_2,lat_2)的列,我想为它们之间的距离添加一列.近似公式可以在互联网上找到,忽略细节,它涉及罪和cos,这就是我的问题所在.
我想算一算np.sin( df["long_1"] ).如果所有值都不为null,则它可以工作但是一旦我丢失了值,它就会抛出错误而不是返回NaN.我收到以下错误:
In [97]: np.sin( df["long_1"] )
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-97-d95dd98ecd44> in <module>()
----> 1 np.sin( df["long_1"] )
AttributeError: sin
Run Code Online (Sandbox Code Playgroud)
知道可能是什么问题吗?或者,如果我在这里错了 - 在具有一些缺失值的系列上计算sin/cos的最佳方法是什么(NaN当缺少输入值时,预期行为应该返回).
谢谢!
看起来你的dtype是对象意味着numpy试图sin在数组的每个元素上调用一个属性.将它键入float应该可以工作.
例如
df["long_1"] = df["long_1"].astype(np.float64)
Run Code Online (Sandbox Code Playgroud)
要么
np.sin(df["long_1"].astype(np.float64))
Run Code Online (Sandbox Code Playgroud)
HTH,戴夫
| 归档时间: |
|
| 查看次数: |
1629 次 |
| 最近记录: |