python - Vlookup 用 python 数据框中每行的值替换列索引

标签 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 列,并且我需要返回每个速度相应的时间值,该怎么办?

最佳答案

使用查找

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

关于python - Vlookup 用 python 数据框中每行的值替换列索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43984089/

相关文章:

python - 如何将 word2vec 嵌入作为 Keras 嵌入层传递?

python - Pandas 数据框到 AngularJS

python - Httplib2 - 属性错误 : 'NoneType' object has no attribute 'makefile'

python - 合并来自两个不同文件的数据以制作一个新的python

python - 计算从年/月开始到今天的天数

python - 修改 Pandas 每小时时间轴上的刻度数

python - 如何使用 Pandas 从三列创建时间值

python - 从 Dataframe 中删除行会导致在 Python 中分布 dataframe

r - 根据条件将值从一行复制到另一行

python - 如何格式化长 `if` 语句