1

我有一个具有以下结构的数据框:

<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)

cueposcolumn 和targetposcolumn 都包含1或的整数值2

我想通过和之间的一致性对这些数据进行分组。换句话说,我想生成两组,一组用于其中的行,另一组用于其中。cuepostargetposcuepos == targetposcuepos != targetpos

我似乎无法弄清楚我该怎么做。我看着使用分组功能,但这些似乎只作用于一列......还是我弄错了?有人可以指出我正确的方向吗?

提前致谢!BLZ

4

2 回答 2

4

您可以按多列分组:

df.groupby(['col1', 'col2']).apply(lambda x: x['col1'] == x['col2'], axis=1)

你也可以使用面具:

df[df.col1==df.col2]

于 2012-11-15T16:06:02.087 回答
3

请注意,如果您的目标是进行分组计算,您可以这样做

df.groupby(df.col1 == df.col2).apply(f)

结果将由 True/False 键入。

于 2012-11-17T18:45:48.563 回答