我有2个 Dataframe 与数值。我想比较每列(他们有相同的column_name),如果他们都是相等的,执行一个条件(增加10分的分数)。我已经做了它"手动",它的作品,但我不喜欢它的方式。让我告诉你:
评分= 0
Dataframe 1
| 色谱柱A|B栏|C栏|D栏|
| - ------|- ------|- ------|- ------|
| 1个|第二章|无|1个|
Dataframe 2
| 色谱柱A|B栏|C栏|D栏|
| - ------|- ------|- ------|- ------|
| 1个|第二章|无|1个|
因此,如果每列的值相等,则score将为score = score +10
score=0
if (df1['Column A'][0]==df2['Column A'][0])&(df1['Column B'][0]==df2['Column B'][0])&(df1['Column C'][0]==df2['Column C'][0])&(df1['Column D'][0]==df2['Column D'][0]):
score=score+10
我想这样做,但是要优化它,比如用for循环或者类似的东西。怎么做呢?非常感谢
2条答案
按热度按时间wfveoks01#
使用Pandasequals函数。
下面是一个简单的实现:
nkcskrwz2#
逐个元素地比较值,然后检查每行是否只有True,并求和以找出有多少行满足条件,最后乘以10: