Python 检查数据帧中两列的行项目是否相同

Python 检查数据帧中两列的行项目是否相同,python,pandas,Python,Pandas,给定一个包含列time和session的数据帧C,我想检查每列中的行项目是否匹配,如果匹配,则执行一些操作。我想知道是否有一个矢量化的解决方案,目前这就是我正在做的: for i in range(len(C['time'])): if C['time'][i] == C['session'][i]: # do something 您可以使用相等条件索引原始数据帧,然后对结果进行操作: C.loc[C['time'] == C['session'], ] = ...re

给定一个包含列
time
session
的数据帧
C
,我想检查每列中的行项目是否匹配,如果匹配,则执行一些操作。我想知道是否有一个矢量化的解决方案,目前这就是我正在做的:

for i in range(len(C['time'])):
    if C['time'][i] == C['session'][i]:
        # do something

您可以使用相等条件索引原始数据帧,然后对结果进行操作:

C.loc[C['time'] == C['session'], ] = ...result of some operation...

问题,为什么你需要
中的
C.loc[C['time']==C['session'],]
执行
C.loc[C['time']==C['session']]]
似乎给出了相同的结果在这种情况下,你可能不需要逗号。在可能需要对特定列执行某些操作的情况下,逗号很有用。例如,如果您想为列
value
分配一个新值,您可以执行
C.loc[C['time']==C['session'],'value']=…