在函数中使用dataframe列作为参数 - iPython

时间:2016-09-08 21:17:12

标签: python pandas dataframe

我是python的新手,任何帮助都将不胜感激!

我的数据框有一列坐标:

gridReference
(190000, 200000)
(560000, 250000)
(560000, 250000)
(560000, 250000)
(560000, 250000)
(560000, 250000)
(320000, 80000)

我还有一个将坐标转换为lat长位的函数 toConvert(E,N) - 我正在尝试研究如何遍历gridReference列并将值作为参数输入到toConvert函数中,然后在另一个数据帧中生成新的Lat-Lon坐标。

希望有意义 - 提前谢谢!

1 个答案:

答案 0 :(得分:0)

直接回答你的问题,你可以做到

f = lambda x: toConvert(x[0],x[1])    
df['gridReference'].map(f)

但实际上为什么你需要一个Pandas DataFrame呢?您可以使用元组列表或元组元组执行相同操作,性能应该相同。 我相信由元组组成的列是对象类型,不是由Numpy处理的。更重要的是,你的功能没有矢量化。您可以使用numba对其进行矢量化(请参阅link)。

所以你可以通过使用built-in function map来实现相同的目标:

map(df['gridReference'].values, f)