python - 在具有缺失值的列上计算 sin

标签 python pandas

我有一个包含 2 个地理位置列(long_1、lat_1、long_2、lat_2)的 pandas DataFrame,我想为它们之间的距离添加一个列。网上可以找到近似公式,忽略细节,涉及sin和cos,这就是我的问题。

我想计算np.sin( df["long_1"] )。如果所有值都不为空,它会起作用,但一旦我有缺失值,它就会抛出错误,而不是返回 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

知道可能是什么问题吗?或者,如果我在这里错了 - 计算具有某些缺失值的 Series 的 sin/cos 的最佳方法是什么(预期行为应该是在输入值缺失时返回 NaN)。

谢谢!

最佳答案

看起来你的 dtype 是对象,这意味着 numpy 试图在数组的每个元素上调用属性 sin。将其输入为 float 应该可以。

例如

df["long_1"] = df["long_1"].astype(np.float64)

np.sin(df["long_1"].astype(np.float64))

喂, 戴夫

关于python - 在具有缺失值的列上计算 sin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19810313/

相关文章:

pandas - 如何在同一个 ipython 笔记本单元格中绘制两个 Pandas 系列自动使用不同的颜色?

python - Mechanize - 如何根据相邻标签选择链接?

python - 将多个 json 文件中的选择字段保存到新的 json

python - 删除 pandas dataframe 中具有 N 个或多个连续 NaN 的所有行

python - 将每隔一行移动到一个新列并将 pandas python 分组

python - 从 Pandas 数据框中选择特定行

python - 检查字符串是否包含数字

python - PyQt 与继承的混淆

python - scikit的线性判别分析和Fisher判别分析是同一种方法吗?

pandas - 确保 Pandas MultiIndex 中的字典序排序