Vlookup用python数据帧

时间:2017-05-15 16:03:00

标签: python pandas dataframe lookup

我有一些注册速度(V1,V2,V3,MaxV或最大速度)的数据框和每个速度的相应时间戳(T1,T2,T3,MaxV_T或最大速度的时刻)如下:

df

Event T1       V1    T2       V2    T3       V3    MaxV  MaxV_T
  0   12:40:44 42.86 12:40:43 45.65 12:40:39 50.5  50.5  T3
  1   15:28:15 88.75 15:28:14 86.45 15:28:17 84.56 88.75 T1

MaxV_T列中的点并不表示实际值,而是表示实际值下降的列的标题。

我需要在python中做的是用真实时间戳替换这个值,就像这样

df

Event T1       V1    T2       V2    T3       V3    MaxV  MaxV_T
  0   12:40:44 42.86 12:40:43 45.65 12:40:39 50.5  50.5  12:40:39
  1   15:28:15 88.75 15:28:14 86.45 15:28:17 84.56 88.75 15:28:15

更新

如果位置指示不可用怎么办,所以我没有初始MaxV_T列,我需要为每个速度返回相应的时间值?

1 个答案:

答案 0 :(得分:3)

使用lookup

df.assign(MaxV_T=df.lookup(df.index, df.MaxV_T))

   Event        T1     V1        T2     V2        T3     V3   MaxV    MaxV_T
0      0  12:40:44  42.86  12:40:43  45.65  12:40:39  50.50  50.50  12:40:39
1      1  15:28:15  88.75  15:28:14  86.45  15:28:17  84.56  88.75  15:28:15