我有一个具有以下结构的数据框:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1152 entries, 0 to 143
Data columns:
cuepos 1152 non-null values
response 1152 non-null values
soa 1152 non-null values
targetpos 1152 non-null values
testorientation 1152 non-null values
dtypes: float64(3), int64(2)
cuepos
列和targetpos
列都包含1
或2
的整数值。
我想在cuepos
和targetpos
之间按一致性对此数据进行分组。换句话说,我想生成两个组,一组用于cuepos == targetpos
的行,另一组用于cuepos != targetpos
。
我似乎无法弄清楚如何做到这一点。我看着使用分组功能,但这些似乎只是在一个列上行动......或者我错了?有人能指出我正确的方向吗?
提前致谢! BLZ
答案 0 :(得分:4)
您可以按多列分组:
df.groupby(['col1','col2'])。apply(lambda x:x ['col1'] == x ['col2'],轴= 1)
你也可以使用面具:
DF [df.col1 == df.col2]
答案 1 :(得分:3)
注意,如果您的目标是进行组计算,那么可以执行
df.groupby(df.col1 == df.col2).apply(f)
,结果将由True / False键入。