我有一个名为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循环更快的方法?
答案 0 :(得分:1)
您可以使用
df['distance'] = df.apply(your_calculate_distance_def, axis=1)
它比循环快。我不知道你的定义是做什么的。但是应用将帮助您提高速度。
您可以在此处参考熊猫应用文档以获取更多帮助-pandas.DataFrame.apply