python - Python 3 上的 Lambda
问题描述
我有一个包含 2 列的数据框,我想将它分成两个数组。我知道使用 Python 2 我可以使用它:
result = spark.sql("SELECT acoustic_data, time_to_failure from df order by acoustic_data asc")
result_rdd = result.rdd.sample(False, 0.0001).map(lambda row: (row.acoustic_data, row.time_to_failure))
result_signal = result_rdd.filter(lambda (acoustic_data, time_to_failure): acoustic_data).collect()
与其他列相同。
但是,如果我现在尝试这样做,我会收到此错误:
TypeError:()缺少1个必需的位置参数:'time_to_failure'
result_rdd 返回:
所以我想从中取出 2 个数组。
问候
解决方案
Python 3删除了元组参数 unpacking,所以这不再有效:
lambda (acoustic_data, time_to_failure): acoustic_data
将其替换为以下内容:
lambda acoustic_data_and_time_to_failure: acoustic_data_and_time_to_failure[0]
推荐阅读
- dataframe - Julia 中缺少值的 MixedModel
- vue.js - vue 解析 json 数据并设置为标记 lat,lng 到点
- java - 向 hashCode() 添加数字是为了什么?
- assembly - 有人可以确认 push r64 应该是 50+ro 而不是 +rd 吗?英特尔文档中的错误?
- firebase - 通过“createCustomToken”方法发布时,CustomToken 不起作用
- c# - 新的 Microsoft.NET.Sdk 项目在子目录中构建输出文件。怎么改回来?
- javascript - 使用 AAD 访问 .Net Web Api 的 JQuery 抛出 401 invalid_token / 发行者无效
- css - HTML / SASS 元素的属性值无效
- sql - 如何限制 DBeaver 数据编辑器以限制结果集大小?
- sql-server - SQL 删除并取回字段