熊猫根据其他数据框的条件对行进行划分

时间:2019-08-07 21:09:25

标签: python pandas

我有2个如下所示的熊猫数据框:

**dataframe_1**

|col_1|col_2|col_3|
|a|2|2|
|b|4|4|
|a|2|2|
**dataframe_2**

|col_1|col_2|col_3|
|a|2|2|
|b|2|2|

我如何划分dataframe_1 / dataframe_2,以便仅dataframe_1中的col_1 a被dataframe_2中的col_1 a划分,并且与b类似。

预期输出:

|col_1|col_2|col_3|
|a|1|1|
|b|2|2|
|a|1|1|

两个表中的列数相同。

编辑: 我通过在dataframe_1上使用iterrows并检查col_1并除以dataframe_2值来完成此操作。我只是想看看是否还有其他方法可以做到这一点。

斯科特·波士顿的答案非常完美。

1 个答案:

答案 0 :(得分:2)

尝试使用set_index并让熊猫处理数据对齐:

df1 = df1.set_index('col_1')

df2 = df2.set_index('col_1')

(df1 / df2).reset_index()

输出:

  col_1  col_2  col_3
0     a    1.0    1.0
1     a    1.0    1.0
2     b    2.0    2.0