【发布时间】:2017-12-07 07:04:19
【问题描述】:
我有两个数据框 df1 和 df2
df1 有以下数据(N 行)
Time(s) sv-01 sv-02 sv-03 Val1 val2 val3
1339.4 1 4 12 1.6 0.6 1.3
1340.4 1 12 4 -0.5 0.5 1.4
1341.4 1 6 8 0.4 5 1.6
1342.4 2 5 14 1.2 3.9 11
...... ..... .... ... ..
df2 具有比 df1 更多行的以下数据
Time(msec) channel svid value-1 value-2 valu-03
1000 1 2 0 5 1
1000 2 5 1 4 2
1000 3 2 3 4 7
..... .....................................
1339400 1 1 1.6 0.4 5.3
1339400 2 12 0.5 1.8 -4.4
1339400 3 4 -0.20 1.6 -7.9
1340400 1 1 0.3 0.3 1.5
1340400 2 6 2.3 -4.3 1.0
1340400 3 4 2.0 1.1 -0.45
1341400 1 1 2 2.1 0
1341400 2 8 3.4 -0.3 1
1341400 3 6 0 4.1 2.3
.... .... .. ... ... ...
我想要实现的是
1.first 将 Time(s) 列乘以 1000,使其与 df2 匹配 毫秒列。
2.In df1 sv 01,02 和 03 在独立列中,但那些 sv 是 出现在 svid 下的同一列中。
所以目标是 df1(更改后)的时间与时间匹配 df2 复制接下来的三个连续行,即复制所有匹配的 那一瞬间的线条。
基本上我想在 df2 时间列中迭代 df1 的时间 如果匹配,则复制下三行并复制到新的 df。
我见过使用 pandas 合并功能的示例,但在我的情况下,两者都有 不同的标题。
谢谢。
【问题讨论】: