根据特定条件切片或聚合数据帧

时间:2016-10-06 07:07:46

标签: python python-3.x lambda aggregate

我有一个包含纬度和经度的数据集。我想在距离小于1 km的数据集中取这些行。对于整个距离计算部分,我编写了一个返回true或false的函数。所以我想考虑应用这种条件的那些行。

它可能是通过lambda函数但不确定如何我认为lambda总是返回一个值可能。 如果条件可以应用于列值,但认为在我的情况下还不够。

任何线索都表示赞赏。 TIA。

1 个答案:

答案 0 :(得分:0)

您能提供有关数据集的更多信息吗?他是否包含两列,一列是lat,另一列是long?

如果要将func应用于数据集,可以使用map Somth是这样的:

func = lambda x: x > 0
data = [1, -1, 3, -2]
result = list(map(func, dataset))

之后你会得到:

result = [True, False, True, False]

或者您可以使用numpy

对您的处理进行矢量化处理
import numpy as np

func = np.vectorize(lambda x: x > 0)
data = np.array([1, -1, 3, -2])
result = func(data)

这将是最快的解决方案。

如果您提供有关数据集结构的更多信息,我将尝试解决您的问题