快速创建一个数据框中的变量作为另一个数据框中的其他变量和值的函数的方法?

时间:2019-05-13 22:13:51

标签: python dataframe

我有一个个人(print("{}: {:.0f}".format(str(number).zfill(dig), val)) )的第一个数据框,该数据框在df_id输入数据,然后在start_time退出数据。

我有另一个数据帧(end_time),它在每个时间点都为我提供了变量df_time的值。

我想在x中创建一个新变量,该变量将为我提供每个人从开始到结束时间的平均df_id

我只能通过逐个循环来完成此操作,这需要很长时间。有更快的方法吗?

这是我尝试过的:

x

非常感谢!

1 个答案:

答案 0 :(得分:0)

使用apply()代替迭代。这样会将运行时间减少一半

import pandas as pd 

df_id = pd.DataFrame({'id':[1, 2, 3], 'start_time':[1, 2, 4], 'end_time':[2, 4, 5]}) 
df_time = pd.DataFrame({'time': list(range(1,6)), 'x': [2,2,4,5,3]}) 

df_id['mean_x'] = df_id.apply(lambda row: df_time['x'][row['start_time']-1:row['end_time']].mean(), axis=1)