向熊猫细胞赋值的最快方法

时间:2018-09-20 11:04:56

标签: python python-3.x pandas

我有一个名为calculate_distance的函数,该函数将4个Pandas单元格作为输入,并返回一个新值,我想将其分配给特定的Pandas单元格。 如下面的代码所示,这4个输入值是动态变化的。

df['distance'] = ''
for i in range(1, df.shape[0]):
   df.at[i, 'distance'] = calculate_distance(df['latitude'].iloc[i-1], df['longitude'].iloc[i-1], df['latitude'].iloc[i], df['longitude'].iloc[i])

是否有比此“新手” for循环更快的方法?

1 个答案:

答案 0 :(得分:1)

您可以使用

df['distance'] = df.apply(your_calculate_distance_def, axis=1)

它比循环快。我不知道你的定义是做什么的。但是应用将帮助您提高速度。

您可以在此处参考熊猫应用文档以获取更多帮助-pandas.DataFrame.apply