pandas - TypeError: ufunc 循环不支持十进制类型的参数 0。十进制没有可调用的 arccos 方法
问题描述
我正在尝试将 Pyspark 数据框转换为 pandas 数据框。
同时计算长,纬度值并将它们更新到数据帧中。
def cos_max_longitude(radian_longitude, radian_latitude):
return radian_longitude + np.arcsin(np.sin(r) / np.arccos(radian_latitude))
错误堆栈:
Traceback (most recent call last):
File "/usr/local/src/spark/python/lib/pyspark.zip/pyspark/worker.py", line 377, in main
process()
File "/usr/local/src/spark/python/lib/pyspark.zip/pyspark/worker.py", line 372, in process
serializer.dump_stream(func(split_index, iterator), outfile)
File "/usr/local/src/spark/python/lib/pyspark.zip/pyspark/serializers.py", line 345, in dump_stream
self.serializer.dump_stream(self._batched(iterator), stream)
File "/usr/local/src/spark/python/lib/pyspark.zip/pyspark/serializers.py", line 141, in dump_stream
for obj in iterator:
File "/usr/local/src/spark/python/lib/pyspark.zip/pyspark/serializers.py", line 334, in _batched
for item in iterator:
File "<string>", line 1, in <lambda>
File "/usr/local/src/spark/python/lib/pyspark.zip/pyspark/worker.py", line 85, in <lambda>
return lambda *a: f(*a)
File "/usr/local/src/spark/python/lib/pyspark.zip/pyspark/util.py", line 99, in wrapper
return f(*args, **kwargs)
File "/home/ec2-user/test.py", line 1847, in cos_max_longitude
np.arcsin(np.sin(r) / np.arccos(radian_latitude))
TypeError: loop of ufunc does not support argument 0 of type decimal.Decimal which has no callable arccos method
解决方案
基本上错误在 np.arccos(radian_latitude)
我的建议是检查 radian_latitude 的数据类型,同时检查其中存储的值的数据类型
如果它的 'decimal.Decimal' 则将其转换为简单的浮点数据类型。
请参阅以下链接:
https://docs.python.org/3/library/decimal.html https://docs.scipy.org/doc/numpy/reference/ufuncs.html#optional-keyword-arguments https://docs.scipy。 org/doc/numpy/reference/generated/numpy.arccos.html
推荐阅读
- python - 使用 SELECT 和 INSERT 等参数查询 SQLite3 数据库
- twilio - Twilio 中 RemoteAudioTrack 的“静音”条件检测
- vb.net - 使用 Visual Basic 执行本地 HTML 文件
- c++ - 重新排列k个子阵列后的最长递增子序列
- react-native - 如何测试由 ComponentDidMount 中的操作创建者触发的商店更新
- email - Outlook 2016 - 所有电子邮件到达标记为已读
- xamarin - XAMARIN - Microsoft.NETCore.UniversalWindowsPlatform v6.2.9 失败
- java - 尝试将对象添加到列表并将其保存在 Spring Boot 上的 MySQL 中时出现 UnsupportedOperationException
- r - 是否可以添加一个图例框,其中包含用 geom_text 编写的文本?
- java - 在 SpringBoot 2.0 中从 Weblogic 迁移到 Apache Tomcat