gpt4 book ai didi

python - 为什么我的代码有效(使用函数过滤数据框)?

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:40 25 4
gpt4 key购买 nike

首先,我创建了一个带有经纬度输入的函数,以便过滤未进入特定区域的船只。

check_devaiation_notInZone(LAT, LON)

它需要两个输入,如果船只未进入特定区域,则返回 True。

其次,我获得了许多船舶的数据,其中一个 header 中包含 Lat,另一个 header 中包含 CSV 格式的 Lon。因此,我需要将两列中的数据放入函数中,并创建另一列来存储函数的输出。

在我查看Pandas: How to use apply function to multiple columns之后。我找到了解决方案df1['deviation'] = df1.apply(lambda row: check_devaiation_notInZone(row['Latitude'], row['Longitude']), axis = 1)

但我不知道为什么它会起作用。谁能解释一下 apply() 里面的东西吗?

最佳答案

lambda 函数就像普通函数一样,但它没有名称,只能在定义它的地方使用。

lambda row: check_devaiation_notInZone(row['Latitude'], row['Longitude'])

等同于:

def anyname(row):
return check_devaiation_notInZone(row['Latitude'], row['Longitude'])

因此,在应用程序中,您只需使用参数 row['Latitude'], row['Longitude'] 调用另一个函数 check_devaiation_notInZone 即可。

关于python - 为什么我的代码有效(使用函数过滤数据框)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47594593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com