用另一个数据框的几行替换数据框的特定行-python

时间:2019-09-16 13:29:37

标签: python pandas dataframe row

我有一个第一个数据帧df1,如下所示:

    Id_Km Sector            var1    var2
0   1     Other             0       2
1   1     Resid             12      2
2   2     Cycl              4       6
3   2     Road              4       5
4   3     Other             5       3
5   3     Small_road        3       4

第二个df2包含Road变量的详细信息:

    year    detail  Road_type   car     time  percentage
0   2015    11      A           car1    10    0.41
1   2015    12      A           car2    4     0.02
2   2015    13      A           car3    3     0.08
3   2015    21      B           car4    7     0.13
4   2015    22      B           car5    1     0.08
5   2015    23      B           car6    22    0.08
6   2015    31      C           car7    10    0.15
7   2015    33      C           car8    9     0.05

我需要将Road中的每个df1变量替换为df2

这是我要执行的操作的详细示例: 让我们考虑一下df1的下一行。

    Id_Km Sector            var1    var2
3   2     Road              4       5

我想用var1中给出的百分比来表示df2,并用相应的'Road'变量替换Road_type。我会得到这样的东西:

    Id_Km Sector        var1       var2
3   2     A             4 * 0.41   5
3   2     A             4 * 0.02   5
3   2     A             4 * 0.08   5
3   2     B             4 * 0.13   5
etc.

最后,我的df1数据帧如下:

    Id_Km Sector            var1    var2
0   1     Other             0       2
1   1     Resid             12      2
2   2     Cycl              4       6
3   2     A                 1.64    5
4   2     A                 0.08    5
5   2     A                 0.32    5
6   2     B                 0.52    5
7   3     Other             5       3
8   3     Small_road        3       4

我不知道该怎么做。将百分比值应用到var1并不是很困难,但是对我来说,用几行替换一行是不可能的。任何帮助将不胜感激。

0 个答案:

没有答案