[英]pandas: divide a dataframe based on a condition in certain columns and rows
[英]Pandas divide rows based on condition from another dataframe
我有2个如下的pandas数据框:
**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值来完成此操作。 我只是想看看是否还有其他方法可以做到这一点。
斯科特·波士顿的答案很完美。
尝试使用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.