我有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值来完成此操作。我只是想看看是否还有其他方法可以做到这一点。
斯科特·波士顿的答案非常完美。
答案 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