我有一个名为calculate_distance
的函数,它将4个熊猫单元格作为输入,并返回一个新值,我想将其分配给特定的熊猫单元格。 这 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])
有没有比这个"新手"循环更快的方法?
您可以使用
df['distance'] = df.apply(your_calculate_distance_def, axis=1)
它比循环更快。我不知道你的定义是做什么的。但是应用将帮助您提高速度。
您可以参考熊猫应用文档 这里 获得更多帮助 - 熊猫。DataFrame.apply